将C#类型转换为类型数组的类型

罗杰·欧文

我需要类型变量中给定类型的n个元素的数组的类型。我正在解决这样的问题:

Type foo;
int n;

Type newType=(Array.CreateInstance(foo,n)).GetType();

这行得通,但这确实意味着我实际上是在创建一个未使用的数组以获取其类型。我相信一定有更好的方法!

雷内·沃格特(Rene Vogt)

您可以使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章