可能重复:
C#泛型列表<T>如何获得T的类型?
假设我有一个给定typeof(List<Stock>)
的List<Stock>
,我如何确定泛型列表的类型?IE:在这种情况下,股票?
查看类型信息,我可以看到AssemblyQualifiedName
在某种程度上提供了
System.Collections.Generic.List`1[[FullQualifiedName.Stock,TestApp,版本=1.0.0.0,文化=中性,PublicKeyToken=null]],mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
但我想知道我是否真的可以返回列表的泛型类型的类型?
试试这个:
var innerType = typeof(List<Stock>).GetGenericArguments()[0];
在这种情况下,innerType == typeof(Stock)
您可以对类型调用.GetGenericArguments()
。这将返回一个类型数组。看见http://msdn.microsoft.com/en-us/library/system.type.getgenericarguments.aspx