:: 연산자 - 네임스페이스 별칭 연산자

네임스페이스 별칭 한정자(::)를 사용하여 별칭이 지정된 네임스페이스의 구성원에 액세스합니다. 두 식별자 사이에 :: 한정사만 사용할 수 있습니다. 왼쪽 식별자는 네임스페이스 별칭, extern 별칭 또는 global 별칭 중 하나일 수 있습니다. 다음은 그 예입니다.

  • 별칭 지시문을 사용하여 만든 네임스페이스 별칭:

    using forwinforms = System.Drawing;
    using forwpf = System.Windows;
    
    public class Converters
    {
        public static forwpf::Point Convert(forwinforms::Point point) => new forwpf::Point(point.X, point.Y);
    }
    
  • extern 별칭

  • 전역 네임스페이스 별칭인 global 별칭. 전역 네임스페이스는 명명된 네임스페이스 내에 선언되지 않은 네임스페이스와 형식을 포함하는 네임스페이스입니다. :: 한정자와 함께 사용하는 경우 global 별칭은 사용자 정의 global 네임스페이스 별칭이 있더라도 항상 전역 네임스페이스를 참조합니다.

    다음 예제에서는 global 별칭을 사용하여 전역 네임스페이스의 구성원인 .NET System 네임 스페이스에 액세스합니다. global 별칭을 사용하지 않으면 MyCompany.MyProduct 네임스페이스의 구성원인 사용자 정의 System 네임스페이스에 액세스할 수 있습니다.

    namespace MyCompany.MyProduct.System
    {
        class Program
        {
            static void Main() => global::System.Console.WriteLine("Using global alias");
        }
    
        class Console
        {
            string Suggestion => "Consider renaming this class";
        }
    }
    

    참고

    global 키워드는 :: 한정자의 왼쪽 식별자인 경우에만 전역 네임 스페이스 별칭입니다.

. 토큰을 사용하여 별칭이 지정된 네임스페이스의 멤버에 액세스할 수도 있습니다. 그러나 . 토큰은 형식 멤버에 액세스하는 데도 사용됩니다. :: 한정자는 이름이 같은 형식 또는 네임 스페이스가 있는 경우에도 해당 왼쪽 식별자가 항상 네임스페이스 별칭을 참조하는지 확인합니다.

C# 언어 사양

자세한 내용은 C# 언어 사양네임스페이스 별칭 한정자 섹션을 참조하세요.

참고 항목