我需要类型变量中给定类型的n个元素的数组的类型。我正在解决这样的问题:
Type foo;
int n;
Type newType=(Array.CreateInstance(foo,n)).GetType();
这行得通,但这确实意味着我实际上是在创建一个未使用的数组以获取其类型。我相信一定有更好的方法!
您可以使用Type.MakeArrayType()
:
Type foo = typeof(Foo);
Type arrayType = foo.MakeArrayType();
这将返回的Type
一维数组Foo
。所述length
阵列的不相关的类型。
对于多维数组,可以使用此重载
Type foo = typeof(Foo);
int dimensions = 5;
Type arrayType = foo.MakeArrayType(dimensions);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句