假设我有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
但我想知道我是否真的可以返回列表的泛型类型?
答案 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