如何在 C# 中获取名称空间的全名作为字符串?

How to get the full name of a namespace as a string in C#?

我正在尝试获取命名空间的全名并将其转换为字符串。

具体来说,我有命名空间 DevExpress.Xpf,我想要 nameof2(DevExpress.Xpf) 或等同于 return "DevExpress.Xpf",而不是 "Xpf" nameof returns.

目前,我正在使用$"{nameof(DevExpress)}.{nameof(DevExpress.Xpf)}"来实现这个目的。

是否可以使用反射或 C# 的某些其他功能来获取命名空间的完整地址作为字符串?

我不在可以 运行 C# 的电脑上,但像这样的东西应该可以工作。

字符串名称=nameof(DevExpress.Xpf);

(我假设 DevExpress.Xpf 是正确的命名空间名称,因为您在问题中写了它)

Type 对象的 Namespace 属性 return 是在其中声明类型的名称空间的完全限定名称。 因此,考虑到您在命名空间 DevExpress.Xpf 中有一个名为 A 的 class,调用 typeof(A).Namespace 将 return "DevExpress.Xpf".