如何获取对象的完整类型名称

Posted

技术标签:

【中文标题】如何获取对象的完整类型名称【英文标题】:How to get the Full Type Name of an object 【发布时间】:2019-10-07 21:43:13 【问题描述】:

我想获取声明的对象的全名。以下方法没有给我我想要的:

Dim objTemp As System.Int32

Debug.Print(TypeName(objTemp))

结果是Integer,我想要的是声明System.Int32

【问题讨论】:

首先,您不声明对象。您声明变量并为它们分配对象。 Console.WriteLine(objTemp.GetType()) Get type name without full namespace的可能重复 TypeName() 是一个特定于 vb.net 的辅助函数,它使用基本的 lisp 语言。它的行为方式与之前的基本版本 like VBA 中的行为方式相同。 【参考方案1】:

使用 GetType.ToString

objTemp.GetType.ToString

【讨论】:

【参考方案2】:GetType().FullName 为您提供包括程序集在内的整个映射时,

GetType() 仅返回 1 级。

Dim objTemp As System.Int32

Debug.Print(objTemp.GetType().FullName)

【讨论】:

如果这是预期的结果,请将此标记为正确答案。谢谢! 您能否在您提出的答案中添加详细信息,说明为什么 OP 获得的是 Integer 而不是 System.Int32

以上是关于如何获取对象的完整类型名称的主要内容,如果未能解决你的问题,请参考以下文章

如何获取模型的名称或 Django 对象的内容类型?

如何获取 swf 文件的每个对象的名称和类型?

如何获取对象的非限定(短)类名?

如何获取完整的时区名称 ios

颤振:如何将对象注册到具有名称的提供者并按名称获取

如何从对象类型中动态获取值并在扩展面板角材料中实现?