TechLog
객체 이니셜라이저
Kenial
2011. 6. 2. 12:02
다음과 같은 코드가 있다고 가정하자:
TextBlock newTextBlock = new TextBlock(); newTextBlock.Text = string.Format("{0} 번 터치되었습니다.", touched); newTextBlock.HorizontalAlignment = HorizontalAlignment.Left; newTextBlock.VerticalAlignment = VerticalAlignment.Top; newTextBlock.Margin = new Thickness( 0, 2 * touched * txtblXAML.ActualHeight, 0, 0);
위 코드는 다음과 같이 바꿀 수 있다:
TextBlock newTextBlock = new TextBlock() { Text = string.Format("{0} 번 터치되었습니다.", touched), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness( 0, touched * txtblXAML.ActualHeight, 0, 0) };
위 문법은 C# 3.0부터 포함된 객체 이니셜라이저(Object Initializer) 문법으로, 명시적인 생성자 없이도 객체의 내부 멤버의 값을 지정할 수 있는 방법을 제공한다. 객체 이니셜라이저를 사용하면 파라메터를 통해 내부 변수의 값을 정의하는 코드를 작성하는 수고를 덜 수 있으며, 특정 객체를 생성할 때 해당 객체와 관련된 코드가 시각적으로 분리되어 있어 코드를 읽기가 용이하다.