【发布时间】:2016-10-08 17:38:10
【问题描述】:
我想从强类型命名空间引用中获取命名空间字符串,其方式与 C# 6 nameof() 适用于类型和类型成员的方式类似。
namespace This.Is.My.Namespace
{
class Program
{
static void Main()
{
string namespaceString = nameof(This.Is.My.Namespace);
Console.Write(namespaceString);
}
}
}
但我得到的结果只是命名空间的最后一部分(例如“命名空间”)。我的目标是 .NET 4.6
这可能吗?
备注:我希望能够引用任何可用的命名空间,而不仅仅是包含的命名空间。
【问题讨论】:
-
您链接到的页面的第一句话是“用于获取变量、类型或成员的简单(非限定)字符串名称”。但这听起来像是一个 X-Y 问题:当您可以从命名空间中的类型获取命名空间名称时,为什么需要这样做来获取命名空间名称?
-
@stuartd 例如,我想过滤来自程序集反射的某些类型
-
你为什么不展示一个你实际尝试做的例子?
-
@stuartd 因为这是一个更普遍的问题。我正在寻找一种干净灵活的方式来表达命名空间,而不是硬编码的文字,以后很难重构。
标签: c# .net namespaces