[英]Filter Type.GetProperties() where PropertyType.Name is in a List
我只需要顯示名稱在requiredfield列表中的屬性。
我正在嘗試做這樣的事情,但是p.PropertyType.Name == x是不正確的:
Pricing pricing = new Pricing();
Type type = typeof(Pricing);
PropertyInfo[] PricingProperties = type.GetProperties();
PricingRequiredFieldDAL requiredField = new PricingRequiredFieldDAL();
var x = requiredField.GetRequiredFields();
var list = PricingProperties.Where(p => p.PropertyType.Name == x);
public class PricingRequiredFieldDAL
{
PricingContext db = new PricingContext();
public List<PricingRequiredField> GetRequiredFields()
{
return db.PricingRequiredFields.Where(p => p.Required == true).ToList();
}
}
我將如何以上述方式使用反射來獲取想要的信息?
就像這樣:
var fieldNames = new HashSet<string>(x.Select(p => p.Name));
var properties = PricingProperties.Where(p => fieldNames.Contains(p.Name));
假設PricingRequiredField
具有一個名為Name
的屬性。 您實際上沒有告訴過我們。
嘗試這個:
var list = PricingProperties.Where(p => x.Contains(p.PropertyType.Name));
我以為x是一個列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.