访问另一个命名空间中同名的全局类

本文关键字:全局 另一个 命名空间 访问 | 更新日期: 2024-09-21 03:56:36

在我的项目中,我有一个用于存储Const变量的静态类Const.cs。例如

public static class Const
{
  public const string EXAMPLE= "Example";
  .........
  .........
  // blah blah..
}

它是一个全局文件,不在任何命名空间下。由于一些特定的要求,我必须创建另一个具有相同名称"Const"的Const类,但这次是在其他名称空间下(比如Namespace1.Class1.cs

public class Namespace1.Class1
{
  string test = Const.EXAMPLE;  // this line throws error by compiler
  public static class Const
  {
    ......
    ......
  }
}

问题是:我在Namespace1.Class1.cs 中使用Const.strExample常量

所以存在歧义问题。编译器无法识别Const.strExample,因为我已在Namespace1.Class1.cs内声明了第二个Const类。有没有办法以某种方式解决这个问题并保留相同的名称,或者我做不到?

请告知。

访问另一个命名空间中同名的全局类

您可以使用global命名空间,如下所示。

namespace Namespace1
{
    public class Class1
    {
      string test = global::Const.EXAMPLE;
      string test2 = Namespace1.Class1.Const.EXAMPLE;
      public static class Const
      {
        ......
        ......
      }
    }
}