C#4.0以降では、クラスの静的変数が作成されるとき、つまりメモリが割り当てられるときに、(厳密に)定義されますか?作成されたインスタンスのコンストラクターに入る前に、そのクラスの静的変数がすでに割り当てられていることを確認できますか?
次の例を参照してください。
class X
{
static Vector2 v = new Vector2();
public X()
{
v.Set(1,1); // Can I be sure that memory for v is allocated here ? Always ??
}
}
これは優れたプログラミング手法と見なされますか?