私には機能があります、
public static IPagedResponse<T> GetPagedResponse<T, TAnon>(
this IQueryable<TAnon> query,
QueryableRequestMessage request)
where T : class
{
//...
}
IQueryable
クエリを匿名タイプとして渡そうとしています。
var query = _repository.All.Select(
i => new //anon type
{
i.Id,
i.Name,
}
);
var result = query.GetPagedResponse<EftInterfaceDto, ??????>(request);
問題は、代わりに何を置くべきかわからないということ??????
です。それを推測することはできないようです。.GetType()
そして、私が試した、または試した組み合わせtypeof()
は失敗しました。
関数をに変更しようとしましたIQueryable<dynamic>
が、式ツリーで動的が許可されていないという他のエラーが発生しました。
ハック:
関数を次のように変更すると、機能させることができます。
public static IPagedResponse<T> GetPagedResponse<T, TAnon>(
this IQueryable<TAnon> query,
QueryableRequestMessage request,
T typeSample)
where T : class
{
//...
}
そして、のインスタンスを渡しますT
var result = query.GetPagedResponse(request, new SomeClassOfT());
このように、型推論を使用して匿名型を判別できTAnon
、ジェネリックの呼び出しで明示的にする必要はありません(必須ではありませ<types>
ん)。
しかし、私が何をしているのかはっきりしないので、これはやりたくありません。