>  기사  >  백엔드 개발  >  [C# 튜토리얼] C# 네임스페이스(네임스페이스)

[C# 튜토리얼] C# 네임스페이스(네임스페이스)

黄舟
黄舟원래의
2016-12-24 13:43:091056검색

C# 네임스페이스

네임스페이스는 이름 그룹을 다른 이름과 구분하는 방법을 제공하도록 설계되었습니다. 한 네임스페이스에 선언된 클래스 이름은 다른 네임스페이스에 선언된 동일한 클래스 이름과 충돌하지 않습니다.

네임스페이스 정의

네임스페이스 정의는 다음과 같이 네임스페이스 키워드로 시작하고 그 뒤에 네임스페이스 이름이 옵니다.

namespace namespace_name
{
   // 代码声明
}

함수 또는 변수의 지원되는 네임스페이스 버전인 경우 네임스페이스 이름은 아래와 같이 앞에 배치됩니다.

namespace_name.item_name;

다음 프로그램은 네임스페이스의 사용법을 보여줍니다.

using System;
namespace first_space
{
   class namespace_cl
   {
      public void func()
      {
         Console.WriteLine("Inside first_space");
      }
   }
}
namespace second_space
{
   class namespace_cl
   {
      public void func()
      {
         Console.WriteLine("Inside second_space");
      }
   }
}   
class TestClass
{
   static void Main(string[] args)
   {
      first_space.namespace_cl fc = new first_space.namespace_cl();
      second_space.namespace_cl sc = new second_space.namespace_cl();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

Inside first_space
Inside second_space

using 키워드

using 키워드는 프로그램이 다음의 이름을 사용하고 있음을 나타냅니다. 주어진 네임스페이스. 예를 들어, 프로그램에서 Console 클래스를 정의하는 System 네임스페이스를 사용합니다. 다음과 같이 작성할 수 있습니다.

Console.WriteLine ("Hello there");

다음과 같이 정규화된 이름을 작성할 수 있습니다.

System.Console.WriteLine("Hello there");

using 네임스페이스 지시문을 사용할 수도 있으므로 따로 작성할 필요가 없습니다. 사용할 때 앞에 붙이고 네임스페이스 이름도 추가하세요. 이 지시문은 후속 코드가 지정된 네임스페이스의 이름을 사용함을 컴파일러에 알려줍니다. 다음 코드는 네임스페이스 적용을 지연합니다.

using 사양을 사용하여 위 예제를 다시 작성해 보겠습니다.

using System;
using first_space;
using second_space;

namespace first_space
{
   class abc
   {
      public void func()
      {
         Console.WriteLine("Inside first_space");
      }
   }
}
namespace second_space
{
   class efg
   {
      public void func()
      {
         Console.WriteLine("Inside second_space");
      }
   }
}   
class TestClass
{
   static void Main(string[] args)
   {
      abc fc = new abc();
      efg sc = new efg();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

Inside first_space
Inside second_space

중첩된 네임스페이스

네임스페이스는 중첩될 수 있습니다. 즉, 다음과 같이 다른 네임스페이스 내에 하나의 네임스페이스를 정의할 수 있습니다.

namespace namespace_name1 
{
   // 代码声明
   namespace namespace_name2 
   {
     // 代码声明
   }
}

점( .) 연산자를 사용하면 중첩된 네임스페이스의 멤버에 액세스할 수 있습니다.

using System;
using first_space;
using first_space.second_space;

namespace first_space
{
   class abc
   {
      public void func()
      {
         Console.WriteLine("Inside first_space");
      }
   }
   namespace second_space
   {
      class efg
      {
         public void func()
         {
            Console.WriteLine("Inside second_space");
         }
      }
   }   
}
 
class TestClass
{
   static void Main(string[] args)
   {
      abc fc = new abc();
      efg sc = new efg();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나온다.

Inside first_space
Inside second_space

위는 [c# 튜토리얼] C# 네임스페이스(Namespace)의 내용이다. ). 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.