Roo*_*ian 7 c# arrays generics reflection generic-list
通用列表:
var elementType1 = typeof (List<A>).GetElementType();
Run Code Online (Sandbox Code Playgroud)
阵:
var elementType = typeof (A[]).GetElementType();
Run Code Online (Sandbox Code Playgroud)
为什么我只获取数组的元素类型?我怎样才能获得通用列表的元素类型?(注释:通用列表已装箱)
Ani*_*Ani 13
GetElementType
只获取数组,指针和引用类型的元素类型.
在派生类中重写时,返回当前数组,指针或引用类型所包含或引用的对象的Type
反射API不"知道"这List<T>
是一个通用容器,并且其构造类型之一的type-argument代表它包含的元素的类型.
使用该GetGenericArguments
方法来获取构造类型的类型参数:
var elementType1 = typeof(List<A>).GetGenericArguments().Single();
Run Code Online (Sandbox Code Playgroud)
var elementType1 = typeof(List<A>).GetGenericArguments()[0];
var elementType = typeof(int[]).GetElementType();
Run Code Online (Sandbox Code Playgroud)