다음을 통해 공유


using 지시문(C# 참조)

using 지시문은 아래와 같은 두 가지 용도로 사용할 수 있습니다.

  • 특정 네임스페이스에 있는 형식을 한정하지 않고도 사용할 수 있도록 하려는 경우

    using System.Text;
    
  • 네임스페이스나 형식의 별칭을 만들려는 경우 이를 using 별칭 지시문이라고 합니다.

    using Project = PC.MyCompany.Project;
    

using 키워드는 파일 및 글꼴과 같은 IDisposable 개체가 올바르게 처리되도록 하는 데 유용한 using 문을 만드는 데도 사용됩니다. 자세한 내용은 using 문을 참조하십시오.

설명

using 지시문의 범위는 해당 지시문이 사용된 파일로 제한됩니다.

네임스페이스나 형식의 식별자를 한정하기 쉽게 하려는 경우 using 별칭을 만듭니다. using 별칭 지시문의 오른쪽은 앞에 있는 using 지시문과 상관없이 항상 정규화된 형식이어야 합니다.

using 지시문을 만들면 네임스페이스를 지정할 필요 없이 네임스페이스의 형식을 사용할 수 있습니다. using 지시문은 지정한 네임스페이스에 중첩된 모든 네임스페이스에 대해 액세스 권한을 부여하는 것은 아닙니다.

네임스페이스에는 사용자 정의 네임스페이스와 시스템 정의 네임스페이스의 두 범주가 있습니다. 사용자 정의 네임스페이스는 코드에서 정의된 네임스페이스입니다. 시스템 정의 네임스페이스 목록은 .NET Framework 클래스 라이브러리를 참조하십시오.

다른 어셈블리의 메서드를 참조하는 예제는 C# DLL 만들기 및 사용을 참조하십시오.

예제 1

설명

다음 예제에서는 네임스페이스에 대한 using 별칭을 정의하고 사용하는 방법을 보여 줍니다.

코드

namespace PC
{
    // Define an alias for the nested namespace.
    using Project = PC.MyCompany.Project;
    class A
    {
        void M()
        {
            // Use the alias
            Project.MyClass mc = new Project.MyClass();
        }
    }
    namespace MyCompany
    {
        namespace Project
        {
            public class MyClass { }
        }
    }
}

주석

using 별칭 지시문의 오른쪽에는 개방형 제네릭 형식을 사용할 수 없습니다. 예를 들어, using 별칭을 List<T>에 대해서는 만들 수 없지만 List<int>에 대해서는 만들 수 있습니다.

예제 2

설명

다음 예제에서는 클래스에 대해 using 지시문과 using 별칭을 정의하는 방법을 보여 줍니다.

코드

using System;

// Using alias directive for a class.
using AliasToMyClass = NameSpace1.MyClass;

// Using alias directive for a generic class.
using UsingAlias = NameSpace2.MyClass<int>;

namespace NameSpace1
{
    public class MyClass
    {
        public override string ToString()
        {
            return "You are in NameSpace1.MyClass.";
        }
    }

}

namespace NameSpace2
{
    class MyClass<T>
    {
        public override string ToString()
        {
            return "You are in NameSpace2.MyClass.";
        }
    }
}

namespace NameSpace3
{
    // Using directive:
    using NameSpace1;
    // Using directive:
    using NameSpace2;

    class MainClass
    {
        static void Main()
        {
            AliasToMyClass instance1 = new AliasToMyClass();
            Console.WriteLine(instance1);

            UsingAlias instance2 = new UsingAlias();
            Console.WriteLine(instance2);

        }
    }
}
// Output: 
//    You are in NameSpace1.MyClass.
//    You are in NameSpace2.MyClass.

C# 언어 사양

자세한 내용은 C# 언어 사양을 참조하십시오. 이 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.

참고 항목

참조

C# 키워드

네임스페이스 키워드(C# 참조)

네임스페이스(C# 프로그래밍 가이드)

using 문(C# 참조)

개념

C# 프로그래밍 가이드

기타 리소스

C# 참조