0

与えられた:

public T Get<T>() { ... }

どこTが閉まっているのですか、どうすればタイプIEnumerable<XYZ>を判別できますか?XYZ

そもそも変数がありません。

4

2 に答える 2

2

を使用するtypeof(T)と、適切なタイプ情報が得られます。

于 2012-05-13T08:32:43.660 に答える
2

LINQのTypeSystem.GetElementTypeメソッドを使用できます:IQueryableプロバイダーの構築-typeof(XYZ)与えられたときに取得するパートI typeof(IEnumerable<XYZ>)

var elementType = TypeSystem.GetElementType(typeof(IEnumerable<XYZ>));
// elementType == typeof(XYZ)

このメソッドでは、を使用して、を表すTypeオブジェクトtypeof(T)を取得できます。T

public T Get<T>()
{
    var elementType = TypeSystem.GetElementType(typeof(T));
    ...
}
于 2012-05-13T08:39:35.777 に答える