簡體   English   中英

篩選器Type.GetProperties(),其中PropertyType.Name在列表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM