将 NameOf 与变量一起使用

Using NameOf with a variable

为什么以下任何一个都不编译:

NameOf(value.GetType())
NameOf(GetType(value))

This expression doesn't have a name.

如何获取传递值的类型的字符串名称? ToString() 可能超载了,所以不能使用它。

您可以使用 value.GetType().Name 获取字符串类型的名称

您的代码无法编译,因为 GetType() returns 类型为 System.Type 的对象,而不是根据 documentation 所要求的表达式。

VB .Net 有一个名为 TypeName 的内置函数。您可以直接将对象传递给 TypeName 函数,而不是在获取类型名称之前获取对象类型:

在这种情况下您不能使用 NameOf,因为这个新运算符从成员本身获取成员的名称。

GetType 不是 return 成员 而是 class、结构、接口或枚举的类型元数据。

因此,您将能够获得具有 Type.Name 属性 值的整个类型名称:value.GetType().Name