おもしろいもの、やくにたつもの を かきこむのだ!

静的コンストラクタという選択肢[C#/Unity]

今日、Unityでゲーム作っていたら、静的コンストラクタというものを知った。

平たく言うなれば、
最初のインスタンスが作成される前、または静的メンバーが参照される前に、静的コンストラクターが自動的に呼び出されてクラスを初期化する
というものだ。

Unityだと、InitializeOnLoadで使われている。

コンポーネントのstaticなデリゲート関数を設定する時に使うと良さそう。
他にもいろいろと工夫できそうな仕組みだ。

今日、Unityで使った例とすると、
AssetBundle化したコンポーネントクラスの、staticなデリゲート関数を設定する
といった感じで使った。

初期化処理の選択肢として、静的コンストラクタを頭に入れておくと良さそう。