获取泛型 List 对象的 T 类型
本文关键字:对象 类型 获取 List 泛型 | 更新日期: 2023-09-27 18:32:19
可能的重复项:
反射 - 从 System.Type 实例
获取泛型参数 获取通用列表中 T 的实际类型
我正在循环浏览一个类的属性信息列表。在本课程中,我对不同的列表感兴趣 - 例如List<int>
、List<string>
、List<Book>
、aso。
但是我不知道我如何获得列表对象的类型。我只是得到类似的东西
System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089]].
我可以把这些信息拆开,用这些信息创建一个类型,但我希望有更流畅的方法?
简单:
Type type = list.GetType().GetGenericArguments()[0];
// The first argument will be the `T` inside `List<T>`... so the list type ;)
var list = GetListFromFoo();
Type listType = list.GetType();
Type theTypeOfT = listType.GetGenericArguments()[0];
或者用一行:
list.GetType().GetGenericArguments()[0];