2014-02-19 4 views
1

유형의 숨겨진 가시성에 문제가 있습니다. 의 다음과 같은 코드를 가정 해 봅시다 : 나는 유형 "AB"의 변수를 선언 할 수있는 방법모호한 유형 이름

namespace A { 
    class B { 
     int V1; 
     class A { 
      class B { } 
      void Foo() { 
       A.B b; 
       // "b" should be of the first type "B", 
       // but it actually points to A.B.A.B 
       b.V1 = 1; //Compile error 
      } 
     } 
    } 
} 

을 (여기서 "A"네임 스페이스가 아닌 중첩 클래스 "A"이어야 함) 장소에서, "B" 선언 되었습니까?

using ClassB = A.B; 

지금 ClassB 원하는 타입을 말한다 :

global::A.B b;

+5

물론이 코드를 수행 할 수 있다고하더라도이 코드는 유지 관리 할 수 ​​없습니다. – akonsu

답변

11

는 "글로벌"- 키워드를 사용합니다.

그러나 더 이상 문제가되지 않도록 클래스 이름을 재고 해 주시기 바랍니다.

+0

감사합니다. 8 분 전에 나가서 정답으로 선택할 수 있습니다. – Andreas

4

당신은 별칭을 사용할 수 있습니다