2017-03-17 3 views
0

'내/외부 네임 스페이스 사용'을 사용해야하는 이유와 'var'를 사용해야하는 이유에 대한 모든 질문을 읽었습니다.C# 정규 네임 스페이스 대 작은 네임 스페이스

나는 여기에 대한 대답을 찾고 싶지 않습니다.

내가 알고 싶은 (또는 확인하는) 것은 아래 두 선언 사이에 차이가 있습니까?

namespace MyCo.MyProject.MyModule 
{ 
    using MyModule2; 
    /*Put class definition here*/ 
} 

namespace MyCo.MyProject.MyModule 
{ 
    using MyCo.MyProject.MyModule2; 
    /*Put class definition here*/ 
} 

그래서 지시문을 사용할 때와 사용하지 않을 때 네임 스페이스에 대한 정규화 된 이름을 사용하는 것과 다른 점은 무엇입니까?

아무 생각이 들지 않지만 누군가가 나에게 보여줄 수있는 참고 자료를 제공 할 수 있다면 (또는 내가 틀렸다면 그것을 반증하는 것은 정말로 영어 단어일까요? 이것은 환상적 일 것입니다.

+1

완전한 이름은 여러 개의 네임 스페이스에 같은 이름의 클래스가있을 때 유용합니다. 다른 클래스 이름 만 사용하고 맨 위에 네임 스페이스에 대한 문을 사용하는 것이 좋습니다. –

+1

'Disprove'는 실제로 영어 단어입니다. 그러나 'prouve'는 그렇지 않습니다. –

+0

@MikeNakis 고마워 함 XD – Sebastien

답변

1

프로그램 영역과 관련된 여러 영역간에 네임 스페이스가 분리되어 있습니다. 즉, 응용 프로그램의 여러 영역에서 같은 이름의 클래스와 구성 요소를 사용할 수 있으므로 사용자가 수행하는 작업과 해당 컨텍스트에 대해 사용자를 혼동시킬 수있는 임의의 이름이 필요하지 않습니다.

예를 들어 클래스가 발견 될 수있는 '영역'에 이미 있기 때문에 완전한 네임 스페이스를 제공하는 것은 유효하지만 필요하지는 않습니다. 일반적으로 파일을 깔끔하게 유지하려면 파일 상단의 using 문을 사용하여 원하는 네임 스페이스를 가져옵니다. 클래스 이름이 충돌하는 경우에만 두 개의 클래스를 구별하기 위해 실제로 네임 스페이스 또는 그 일부를 지정합니다.