对多个命名空间使用相同的别名

本文关键字:别名 命名空间 | 更新日期: 2023-09-27 18:27:33

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

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

namespace2namespace3没有同名的类,所以不用担心类名不明确,我写会更方便

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

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

如果我使用

using NSP = namespace1;

对多个命名空间使用相同的别名

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

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

namespace2和namespace3没有具有相同名称的类,因此不必担心类名不明确,

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

  • C#命名空间别名-what';重点是什么
  • 外部别名(C#引用)
  • C#别名

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

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

不可以,即使这两个名称空间没有同名的类。你会得到这个错误:

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