これはあまりにも基本的なことではないと思っていますが、私は似たような質問をしましたが、理解できないようです。私は一般的なようにしたいリポジトリのパターンを使用してLINQ文をラムダとして渡す方法
イム - ここでは、私が一般的なために持っているものです。
static public IQueryable<T> Get(Func<IQueryable<T>> pred, uint page=0, uint pageSize=10)
{
return pred()
.Skip((int)(page * pageSize))
.Take((int)pageSize);
}
だから私はそれを呼び出すようにしたいが、どのようなラムダと「無効な引数を持っている」を取得します私は試してみる。
IQueryableを返すメソッドを宣言し、最初のパラメータとして渡すと、コンパイルエラーは発生しません。イムは困惑した。
助けてください?ラムダでこれを呼び出す正しい方法は何ですか?または、私のジェネリック薬が駄目から外れている場合、それを宣言するにはどうすればいいですか?私はむしろあなただけIQueryable<T>
を取り、その直接と連携Func<IQueryable<T>>,
に取って、
static public IQueryable<T> Get<T>(Func<IQueryable<T>> pred, uint page = 0, uint pageSize = 10)
{
return pred()
.Skip((int)(page * pageSize))
.Take((int)pageSize);
}
あなたは私たちに失敗したラムダ式のいくつかを示すことができた場合、それは本当に役立つだろう... –
はどこジェネリック型Tから()メソッドを取得するために来shoudl?それはクラスレベルで宣言されていますか? – sll