2

必須フィールド リストにある名前を持つプロパティのみを表示する必要があります。

私はこのようなことをしようとしていますが、 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();
    }
}

上記の方法でリフレクションを使用して、必要な情報を取得するにはどうすればよいですか?

4

2 に答える 2

4

次のようなものです:

var fieldNames = new HashSet<string>(x.Select(p => p.Name));
var properties = PricingProperties.Where(p => fieldNames.Contains(p.Name));

PricingRequiredFieldというプロパティがあると仮定していますName。あなたは実際に私たちにそれを言っていません。

于 2013-04-30T18:17:08.147 に答える
1

これを試して:

var list = PricingProperties.Where(p => x.Contains(p.PropertyType.Name));

x はリストだと思います。

于 2013-04-30T18:19:55.647 に答える