3

是否可以在 C# 中以某种方式using为多个命名空间使用相同的别名,我知道它们没有重叠的类名?
例如,如果我可以做这样的事情:

using NSP = namespace1.namespace2;
using NSP = namespace1.namespace3;  

namespace2并且namespace3没有同名的类,所以不用担心类名有歧义,我这样写会更方便:

NSP.Class1 obj1 = new NSP.Class1();

NSP.namespace2.Class1 obj1 = new NSP.namespace2.Class1();

如果我使用

using NSP = namespace1;
4

3 回答 3

2
using NSP = namespace1.namespace2;
using NSP = namespace1.namespace3;  

首先你不能这样做。编译器不允许您为两个不同的命名空间定义相同的别名。这会导致编译器时间错误。

namespace2 和 namespace3 没有同名的类,所以不用担心类名不明确,

不管它们是否具有相同的命名类,编译器都不允许你这样做。

于 2013-08-13T11:11:24.457 回答
0

您不能再次使用相同的别名。您将收到以下编译器错误

使用别名“xxx”以前出现在此命名空间中

于 2013-08-13T11:09:06.930 回答
0

不,你不能,即使两个命名空间也没有同名的类。你会得到这个错误:

使用别名“NSP”以前出现在此命名空间中。

于 2013-08-13T11:09:47.933 回答