我有一个带有根命名空间Protege.MyLibrary
的已编译类库。
它具有一些根类型,例如CommonlyNamedType
。
当我将库添加到使用的应用程序中时,为了某些情况下的清晰起见,我希望能够将变量指定为:
using Protege;
...
MyLibrary.CommonlyNamedType oMyType = new MyLibrary.CommonlyNamedType;
而不是
using Protege.MyLibrary;
...
CommonlyNamedType oMyType = new CommonlyNamedType;
前者无法编译,表示名称空间Protege
“不需要使用指令”,可以将其删除。
这似乎很奇怪,因为我可以改用其他方式添加其他名称空间,例如Protege.MyLibrary.AnotherNamespace
。
我似乎能够在VB.NET中100%做到这一点-使用Imports Protege
和/或Protege.MyLibrary
之一或两者,甚至可选地使用冗余限定类型。但是不在C#.NET中。
我对SO和其他地方有很好的了解,但没有看到有关此行为的解释。有什么想法吗?
答案 0 :(得分:0)
您可以静态导入类似的类
using static System.IO.File;
它不支持类,您需要使用普通的using
来导入名称空间。