【发布时间】:2012-04-04 01:16:04
【问题描述】:
我有一个通用方法定义如下
public T MyMethod<T>(extra params)
我的方法可以接收和返回单个实体类型,也可以接收和返回列表。 如何判断传递的 T 是单个实体类型还是 List,在这种情况下如何获取内部类型 T1 的类型?
谢谢
【问题讨论】:
标签: generics c#-4.0 generic-list
我有一个通用方法定义如下
public T MyMethod<T>(extra params)
我的方法可以接收和返回单个实体类型,也可以接收和返回列表。 如何判断传递的 T 是单个实体类型还是 List,在这种情况下如何获取内部类型 T1 的类型?
谢谢
【问题讨论】:
标签: generics c#-4.0 generic-list
您可以使用Type 类的方法来做到这一点:
var type = typeof(T);
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) {
var innerType = type.GetGenericArguments()[0];
}
【讨论】: