Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Generics 如何查找泛型类型是否为List<&燃气轮机;_Generics_C# 4.0_Generic List - Fatal编程技术网

Generics 如何查找泛型类型是否为List<&燃气轮机;

Generics 如何查找泛型类型是否为List<&燃气轮机;,generics,c#-4.0,generic-list,Generics,C# 4.0,Generic List,我有一个通用方法定义如下 public T MyMethod<T>(extra params) public myt方法(额外参数) 我的方法可以接收和返回单个实体类型,也可以接收和返回列表。 如何查找传递的T是单个实体类型还是列表,在这种情况下如何获取内部类型T1的类型 谢谢您可以使用类中的方法执行此操作: var type=typeof(T); if(type.IsGenericType&&type.GetGenericTypeDefinition()==typeof(列表)

我有一个通用方法定义如下

public T MyMethod<T>(extra params)
public myt方法(额外参数)
我的方法可以接收和返回单个实体类型,也可以接收和返回列表。 如何查找传递的T是单个实体类型还是列表,在这种情况下如何获取内部类型T1的类型


谢谢

您可以使用类中的方法执行此操作:

var type=typeof(T);
if(type.IsGenericType&&type.GetGenericTypeDefinition()==typeof(列表)){
var innerType=type.GetGenericArguments()[0];
}
var type = typeof(T);
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) {
    var innerType = type.GetGenericArguments()[0];
}