0

私は一般的なメソッドを以下のように定義しています

public T MyMethod<T>(extra params)

私のメソッドは、単一のエンティティタイプだけでなく、リストも受信して返すことができます。渡されたTが単一のエンティティタイプであるかリストであるかを確認するにはどうすればよいですか?この場合、内部タイプT1のタイプを取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

Typeこれは、クラスのメソッドを使用して実行できます。

var type = typeof(T);
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) {
    var innerType = type.GetGenericArguments()[0];
}
于 2012-04-04T01:35:55.597 に答える