返回列表<t>泛型类型</t>

时间:2011-04-19 07:21:44

标签: c# list reflection types

  

可能重复:
  C# generic list <T> how to get the type of T?

假设我有List<Stock>给定typeof(List<Stock>)如何确定通用列表的类型? IE:在这种情况下股票?

查看类型信息,我可以看到AssemblyQualifiedName在某种程度上提供了这个

  

System.Collections.Generic.List`1 [[FullQualifiedName.Stock,   TestApp,版本= 1.0.0.0,   文化=中性,   PublicKeyToken = null]],mscorlib,   版本= 4.0.0.0,文化=中立,   公钥= b77a5c561934e089

但我想知道我是否真的可以返回列表的泛型类型?

2 个答案:

答案 0 :(得分:6)

试试这个:

var innerType = typeof(List<Stock>).GetGenericArguments()[0];

在这种情况下innerType == typeof(Stock)

答案 1 :(得分:0)

您可以在类型上调用.GetGenericArguments()。这将返回一组类型。 见http://msdn.microsoft.com/en-us/library/system.type.getgenericarguments.aspx