在另一个名称空间内访问同名的全局类

时间:2013-12-13 06:48:30

标签: c# namespaces

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

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

它是一个全局文件,不属于任何命名空间。由于某些特定要求,我必须使用同名“Const”创建另一个Const类,但这次是在其他名称空间下(比如 Namespace1.Class1.cs )< / p>

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 类。 有没有办法以某种方式解决这个问题并保留相同的名称,或者我不能这样做?

请告知。

1 个答案:

答案 0 :(得分:2)

您可以使用下面的global命名空间。

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

      public static class Const
      {
        ......
        ......
      }
    }
}