[Effective C#] 아이템 13: 정적 클래스 멤버를 올바르게 초기화하라
C# 카테고리의 다른 글
인스턴스 멤버 초기화와 마찬가지로 정적 멤버를 간단히 초기화하는 경우에는 멤버 초기화 구문을 사용하는 것이 좋다.
정적 멤버 변수를 초기화 하는 두 가지 방법
- 정적 멤버 초기화 구문
- 정적 생성자
static readonly로 선언된 변수는 위 두 가지 방법으로만 할당될 수 있다.
정적 생성자
// 정적 생성자
static MySingleton2()
{
theOneAndOnly = new MySingleton2();
}
- 타입 내에 정의된 모든 메서드, 변수, 속성에 최초로 접근하기 전에 자동으로 호출되는 메서드.
- 초기화 과정이 복잡한 경우에 사용하면 좋다. (예외 처리 등)
- 하나만 가질 수 있다.
- 인자를 넘길 수 없다. (CLR을 통해서만 호출되기 때문)
- 두번 이상 호출되지 않는다. (예외가 발생해도 다시 호출되지 않는다)
댓글남기기