2011-01-31 3 views
1

C#의 모든 부분은 항상 랩핑 된 것으로 보아 왔지만 네임 스페이스입니다. 네임 스페이스에 래핑되지 않은 코드를 포함 할 수 있습니까? 물론이름없는 C# 코드?

답변

5

당신은 특정 하나를 선언 할 필요가 없습니다. 스크립트 상단의 네임 스페이스를 삭제합니다 (여는 괄호와 닫는 괄호와 함께). 그러면 전역 네임 스페이스의 일부가됩니다. 스펙에서

:

네임 스페이스와 더 이 네임 스페이스를 둘러싸는 없었다 유형이 글로벌 네임 스페이스의 구성원입니다. 이는 전역 선언 공간에 선언 된 이름에 직접 에 해당합니다.

네임 스페이스 및 네임 스페이스 내에서 선언 된 형식은 해당 네임 스페이스의 멤버입니다. 이 은 의 선언 공간에 선언 된 이름 에 직접 해당합니다.

기술적으로 네임 스페이스를 지정하지 않았더라도 기술적으로는 네임 스페이스 (글로벌 것)의 일부입니다.

+0

다른 이유로 인해 항상 가능한 것은 아님을 이해하십시오. 예를 들어 네임 스페이스는 동일한 이름을 가진 클래스를 구별하는 데 사용되므로 전역 네임 스페이스에 두 개의 클래스를 포함 할 수 없습니다. 또한 네임 스페이스를 사용하는 것이 일반적으로 좋은 코딩 방법입니다. 모든 것이 전역 네임 스페이스에있는 것처럼 컴파일러는 각 코드 파일에서 참조하는 클래스에 대해 전체 네임 스페이스를 검색해야하며 모든 클래스를 IntelliSense에 대한 가능성으로 제시합니다. – KeithS

+0

그리고 보호 된 방법은 효과가 없을 것이라고 생각합니다. 개인의 – Burimi

3

, 전역 네임 스페이스의 유형을 정의 할 수 있습니다

using System; 

class Program 
{ 
    static void Main() 
    { 
     Console.WriteLine("I have no namespace"); 
    } 
}