C# 对多个名称空间使用相同的别名
在C#中,是否可以对多个名称空间使用相同的C# 对多个名称空间使用相同的别名,c#,.net,namespaces,using,C#,.net,Namespaces,Using,在C#中,是否可以对多个名称空间使用相同的别名(我知道它们没有重叠的类名)? 例如,如果我可以这样做: using NSP = namespace1.namespace2; using NSP = namespace1.namespace3; namespace2和namespace3没有同名的类,因此不必担心类名不明确,我可以更方便地编写: NSP.Class1 obj1 = new NSP.Class1(); 以防我使用 using NSP = namespace1; 您不能再次
别名(我知道它们没有重叠的类名)?
例如,如果我可以这样做:
using NSP = namespace1.namespace2;
using NSP = namespace1.namespace3;
namespace2
和namespace3
没有同名的类,因此不必担心类名不明确,我可以更方便地编写:
NSP.Class1 obj1 = new NSP.Class1();
以防我使用
using NSP = namespace1;
您不能再次使用相同的别名。您将得到以下编译器错误
使用别名“xxx”以前出现在此命名空间中
不,您不能,即使这两个名称空间也没有同名的类。
您将得到thsi错误:
使用别名“NSP”以前出现在此命名空间中
using NSP = namespace1.namespace2;
using NSP = namespace1.namespace3;
首先你不能这么做。编译器不允许您为两个不同的名称空间定义相同的别名。这会导致编译器时间错误
namespace2和namespace3没有同名的类,因此
不必担心模棱两可的类名
它们是否具有相同的命名类并不重要,编译器不允许您这样做
只是我的意见。。。但我绝对讨厌人们在我们的代码库中这样做。。。uuggghhh。我知道这不可编译,我只是举了个例子来澄清我的想法。我的问题是,对于这个问题,是否有任何方法或解决办法。@kobac,我不这么认为。若编译器告诉您不应该这样做,那个么您不应该:)
using NSP = namespace1.namespace2;
using NSP = namespace1.namespace3;