정리가 필요한 카테고리(추후 정리)/C#,Unity

C#] using static 지시자

TwinParadox 2017. 1. 8. 23:09
728x90

C# 6.0에서부터는 namespace가 아니라 특정 형식을 using static 지시자를 이용해 도입 가능


그렇게 사용하면, 해당 형식의 모든 정적 멤버가 도입되어,

그 후부터 그 멤버의 형식 이름을 지정하지 않고 사용이 가능해짐.



using static System.Console;

class Test
{
	static void Main()
	{
		WriteLine("Hello!");
	}
}



using static 지시자는 주어진 형식의 모든 접근 가능한 정적 멤버를 도입하기 때문에,

정적 메서드만이 아니라 정적 필드, 속성, 내포된 형식도 도입함.

열거형에 대해서도 이 지시자를 적용할 수 있으며, 열거형의 모든 멤버가 도입됨.


따라서,

using static System.Windows.Visibility;를 수행하고 나면,

Visibility.Hidden 대신, Hidden을 직접 이용 가능함.


var textBox = new TextBox { Visibility = Hidden };



다만, 여러 형식을 이런 식을 도입할 경우, 중의성 문제가 발생하며

C# 컴파일러는 문맥에서 이런 형식을 추출하는 수준까지 미치지 못하기 때문에, 오류가 발생함.

728x90