Effective C# 3rd 読書メモ 13 静的メンバーは適切な初期化を行う

静的クラスのメンバーの初期化には、初期化子または静的コンストラクタを使用すべきである。
インスタンスのコンストラクタや、何らかのprivateメソッド、その他の方法は使用すべきではない。
初期化に複雑な処理が必要なら、Lazy<T>クラスによる遅延初期化を考慮すべきだ。

以下は、初期化子を使用したSingletonパターンの実装例である。

静的コンストラクタは、初めてクラスにアクセスされた際に自動的に実行される。
静的コンストラクタは1つだけ定義可能で、引数をとることはできない。
静的コンストラクタを使用する理由として、最も一般的なのは初期化時の例外処理である。

参考: Lazy クラス

コメントを残す