多くの場所を検索した後、私はあなたの助けを求めることになった。述語なしでIQueryable拡張メソッドを作成
問題はこれです。IQueryableを使用してただし条件なしでフィルタを作成する必要があります。例えば言って私は次のクラスがあります。代わりの
var ex1 = MyClass.MyFilter<P1>;
:
public class MyClass: IQueryable
{
public string P1 {get; set;}
public string P2 {get; set;}
}
は今、私はこのクラスのフィルタまたは私はこのような例のためにそれを呼び出すことができますそのことについては他のクラスを必要とします
var ex = someCollection.Where(p => p.SomeProperty == P1);
グリッドと列にプロパティやクラスをバインドするときに、このような何かは、ASP.NETで剣道グリッドによって使用されています。どんなアイデアやアドバイスも高く評価されます!ありがとうございました!
をいただき、ありがとうございます答えのbuffjape!もう一つの質問:関数自体の内部でも述語表現を避ける方法はありますか?私はEFまたはnHibernateからのDBクエリでこのフィルタを使用できるようにしたいと思います。ありがとうございました ! –
それは両方のためにうまくいくはずです - 試してみてください。 – buffjape
これはかなりうまく動作します!ありがとうございました ! SomePropertyを変数に入れる方法もありますか? –