책 정리/Effective C#

item 13, static 클래스 멤버는 static 생성자를 사용하여 초기화 하라.

최익필 2010. 7. 1. 03:45

포스트를 만든 목적

Effective C# 을 읽고 공부하려고 만들었다.

내용

static 멤버 변수는 static 생성자를 사용 해서 초기화 하는게 좋다는 내용이다. 코드를 올릴테니, 컴파일 해보고, 어떻게 작동되나 눈으로 봐두는게 좋겠다.


C++ 에선 static 멤버 초기화 하는게 좀 까다로운 점이 있는데, C# 에서는 지원해 주기 때문에, 한결 편해졌다.

언제 static 생성자를 사용 하는게 좋은가?

  • static 멤버가 있을 경우 -  코드는 생략한다.
  • singleton 을 구현 할 경우

  • static 멤버 초기화 시 예외가 발생할 가능 성이 있을 경우 - 코드는 생략

언제 static 생성자를 사용하지 않는게 좋은가?

  • 간단한 static 멤버를 초기화 할 경우(위와 반대겠지?)

Digression

  • 오늘 PD 수첩을 보았다. "PD수첩 E862 이 정부는 왜 나를 사찰했나" 인데, .. 경악할 수준이다. 검찰 이야기 I, II 나올 때도 경악 했는데, 이번에도 경악했다.