2013-03-03 1 views
7

가끔 프로젝트에서 여러 네임 스페이스를 가질 필요가 있음을 발견했습니다. 같은 프로젝트에서 여러 네임 스페이스를 가짐으로써 발생할 수있는 문제가 있습니까?
대안은 분명히 솔루션에서 네임 스페이스 당 여러 개의 프로젝트가있는 것입니다.단일 프로젝트의 다중 네임 스페이스

+1

"대안에는 분명히 솔루션에 여러 프로젝트가 있습니다." - 일반적으로 더 좋은 방법입니다. –

+0

@MitchWheat "질서 정연한"접근 방식 인 것처럼 보이지만 실제로하는 모든 것은 내 솔루션을 혼란스럽게합니다. 더 큰 문제는 컴파일시 여러 파일을 생성한다는 것입니다. – Acidic

+0

그러나 다른 해결책으로는 완전히 다른 문제입니다. –

답변

7

네, 괜찮습니다. 내 네임 스페이스는 종종 프로젝트의 폴더 구조와 정렬됩니다. 따라서 최상위 네임 스페이스는 전체 프로젝트에서 동일하지만 여러 하위 네임 스페이스가있을 수 있습니다.

네임 스페이스의 목적은 (1) 조직 및 (2) 이름 충돌을 방지하는 것입니다. 반드시 그 순서대로 수행해야하는 것은 아닙니다. 여러 바이너리가 필요하거나 여러 솔루션간에 코드를 공유하려는 경우 여러 프로젝트로 분리하는 것이 더 중요합니다. 이들은 다소 직교적인 관심사입니다.

+1

또한 Visual Studio는이 구조를 사용하여 자동으로 새 .cs 파일에 네임 스페이스를 만듭니다. –

1

예 많은 클래스가 단일 네임 스페이스에 있습니다. 프로젝트의 많은 네임 스페이스는 완전히 괜찮습니다. 그것은 화장품입니다.

1

모범 사례에 도달하지 않고이 질문에 대한 대답은 한 프로젝트에서 여러 네임 스페이스를 사용하면 기술적 인 문제가 발생하지 않는다는 것입니다.

그러나 Visual Studio는 프로젝트 속성 (프로젝트 자체의 솔루션 탐색기에서 마우스 오른쪽 단추로 클릭하는 속성)에있는 하나의 기본 네임 스페이스 만 지원하며 새 파일을 만들면이 기본 네임 스페이스로 만들어집니다 (루트에있는 경우) 또는 기본 네임 스페이스와 폴더 구조 중 하나를 선택합니다.

본질적으로 문제는 아니지만 프로젝트에 추가 할 새 C# 파일을 수동으로 확인하고 해당 파일이 프로젝트의 기본 네임 스페이스를 사용하지 않을 경우 이에 따라 네임 스페이스를 변경해야합니다.