2009-07-01 5 views
13

가능한 중복 : Should Usings be inside or outside the namespacesa1200 지시어를 사용하는 모든 것은 네임 스페이스 (StyleCop) 안에 배치해야합니다.

sa1200 모든 사용 지침
네임 스페이스 내부에 위치해야합니다 (StyleCop는)

는 코드 일기 좋게이인가 또는 실제 장점은 그렇게 거기에있다 ? GC가 어떻게 든 도움이됩니까?

+3

(거의?) 모든 StyleCop 규칙은 순수하게 화장품입니다 ... 그것이 바로 그 때문입니다. FxCop은 기능 제안을하는 도구입니다. – jerryjvl

답변

0

에는 런타임 차이가 없다. 그것은 순전히 컴파일 시간 (및 개발 경험) 변경입니다. 컴파일 된 IL 파일은 두 경우 모두 동일합니다.

+4

실제로 이동을 만들면 생성 된 코드가 변경 될 수있는 드문 경우가 있습니다. http://blogs.msdn.com/ericlippert/archive/2007/06/25/inside-or-outside.aspx –

+0

에릭 : VS2008에서 잡을 수 있습니까? 나는 컴파일 타임 경고/오류를 제공했다고 생각했다. 나는 이것이 2005 년에 문제가되었다는 것을 알고있다 ... 그러나 나는 그것이 지금 잡혔다 고 생각했다. –

+4

한 줄에서 다른 줄로 코드를 옮긴다. 컴파일러는 옛 방식이 "옳았고"새로운 방식이 "틀렸다"는 것을 어떻게 알 수 있습니까? –

3

프로젝트에 네임 스페이스가 여러 개인 경우 각 네임 스페이스가 개별적으로 사용하는 네임 스페이스를 제한 할 수 있습니다.

동일한 두 개의 다른 네임 스페이스에 클래스 이름이있는 경우이 방법이 유용 할 수 있습니다. 하나는 프로젝트의 한 부분에서 기본값이 될 수 있고 다른 하나는 다른 부분에서 기본값이 될 수 있습니다.

예 그들은이 규칙에 대해 정말 프린지 경우를 찾습니다.

+5

하지만 하나의 파일에 여러 개의 네임 스페이스가 없을 것입니다. 그것은 현재 추적 할 수없는 다른 규칙을 위반할 것이기 때문에 ... – Mark

+1

SA1403 : 파일에는 단일 네임 스페이스 만 포함될 수 있습니다. C# 문서에 두 개 이상의 네임 스페이스 지시문이 들어 있지 않은지 확인합니다. –

관련 문제