:: 연산자로 동일한 이름의 구성원에 접근
using 및 =
를 사용하면 네임스페이스를 별칭(alias) 할 수 있습니다.
using forwinforms = System.Drawing;
using forwpf = System.Windows;
위의 두 네임스페이스에 Point라는 구조체가 있다고 가정할 때 이렇게 접근할 수 있습니다.
forwinforms.Point
, forwpf.Point
그런데 .
은 구성원에서의 접근도 되므로 다음과 같이 별칭 한정자(::
)를 이용하면 네임스페이스의 접근임을 좀 더 명확하게 할 수 있습니다.
forwinforms::Point
, forwpf::Point
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);
}
그렇다면 별칭 네임스페이스가 아닌 접근은 별칭 한정자로 어떻게 접근할 수 있을까요? 맨 앞에 global::
로 접근하면 별칭이 아닌 네임스페이스로 인식 합니다.
global::System.Console.WriteLine("Hello World!");