.net - 如何从 .net 中的数组类型获取数组项类型

标签 .net reflection types

假设我有一个 System.String[] 类型对象。我可以查询类型对象以确定它是否是数组

Type t1 = typeof(System.String[]);
bool isAnArray = t1.IsArray; // should be true

但是如何从 t1 获取数组项的类型对象

Type t2 = ....; // should be typeof(System.String)

最佳答案

您可以使用实例方法Type.GetElementType为此目的。

Type t2 = t1.GetElementType();

[Returns] the type of the object encompassed or referred to by the current array, pointer, or reference type, or null if the current Type is not an array or a pointer, or is not passed by reference, or represents a generic type or a type parameter in the definition of a generic type or generic method.

关于.net - 如何从 .net 中的数组类型获取数组项类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4129831/

相关文章:

java - java中是否存储了运行时类型信息?

c# - 有没有办法确定泛型类型是否是从特定的泛型类型定义构建的?

Java - 对象中的ArrayList

.net - 如果记录更改,如何更改 DataGrid 行颜色

javascript - 在 JavaScript 中从对象调用具有正确参数的函数

java - 将具体类型列表转换为 Java 中的接口(interface)列表

c++ - 读取文件多数据类型 (c++)

c# - 什么更好?枚举还是类型检查?

C# 在 AD 中链接组策略

c# - TextBlock 中动态字符串的 WPF 本地化