既に戻り値の型を持つメソッドを拡張しようとしています。例えば:
IQueryable<int> GetCategoryIds()
したがって、これを次のように使用できます。
IQueryable<int> categories = GetCategoryIds();
そして、私は現在やっています:
IQueryable<int> categories = GetCategoryIds().Select(c => new Client() { ClientId == c.clientId });
Select
これは機能しますが、そのステートメントを実行したくありません。a を除く拡張メソッドを使用したいので、拡張メソッドでtype
リフレクションを使用して型などを決定し、それに応じて結果を返すことができます。拡張メソッドは次のようになります。
public static IQueryable<T> LovelyExtension(this T objectType, int clientId)
次に、この拡張機能を次のように使用できます (うまくいけば):
IQueryable<int> categories = GetCategoryIds().LovelyExtension<int>(1);
これは可能ですか?GetCategoryIds
試してみると、戻り値の型が拡張メソッドと同じではないため、エラーが発生しました。しかし、これはSelect
ステートメントで機能します。