2013-12-13 3 views
1

В моем проекте у меня есть статический класс Const.cs, используемый для хранения переменных Const. например.Доступ к глобальному классу с тем же именем внутри другого пространства имен

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

Это глобальный файл, который не подпадает под любое пространство пространства имен. Из-за некоторые специфические требования, я должен создать еще Const класс с таким же именем «Уста», но на этот раз под какими-либо другим пространством имен (скажет Namespace1.Class1.cs)

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

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

Проблема заключается в том: Я использую константы Const.strExample внутри пространства имен1.Class1.cs

Таким образом, существует проблема двусмысленности. Компилятор не может идентифицировать Const.strExample, так как я объявил второй Const класс внутри Namespace1.Class1.cs. Есть ли способ разрешить это как-то и сохранить одно и то же имя, или я не могу этого сделать?

Просьба сообщить.

ответ

2

Вы можете использовать пространство имен global, как показано ниже.

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

     public static class Const 
     { 
     ...... 
     ...... 
     } 
    } 
} 
Смежные вопросы