オブジェクトのリストがありPolicyTran
ます:
List<PolicyTran> AllTransactions;
プロパティによるクエリ フィルタリングを実行する必要があります。
var insureds = AllTransactions.Select(x => x.Insured).ToList();
x.Insured
これで問題なく動作しますが、プロパティは異なる値をとる可能性があるため、実行時にプロパティを渡す必要があります。
私はやってみました:
ParameterExpression x = Expression.Parameter(typeof (PolicyTran),"x");
MemberExpression body = Expression.Property(x, propertyName);
var lambda = Expression.Lambda(body,x).Compile();
var result = AllTransactions.Select(lambda).ToList();
この場合propertyName
、「被保険者」またはその他のPolicyTran
プロパティが含まれます。しかし、「型引数は使用法によって推論できません...」というコンパイルエラーが発生します...
私も試しましたが、うまくいきませんでした:
ParameterExpression x = Expression.Parameter(typeof (PolicyTran),"x");
var result = AllTransactions.Select(Expression.Lambda<Func<PolicyTran, bool>>(x).Compile()).ToList();
何か案は??