私のようなクラスがある場合:C#では、最初にプライベートなメンバー変数またはコンストラクタが起動し、その理由は何ですか?
public class A
{
public A(string name)
{
Console.WriteLine("Mon");
}
}
public class B
{
private A m_a = new A("Tues");
public B()
{
m_a = new A("Wed");
}
}
を私は出力をテストすることはできませんので、私はWindowsマシン上ではありませんよ。
それは何でしょうか、もっと重要なのはなぜですか?
つまり、private varがコンストラクタの前にインスタンス化される理由、またはその逆です。または、無視されるか、単に上書きされますか?
Javaは同じ動作ですか?
を? – Blankman
@Blankmanインスタンスが初めて作成されたときと、静的コンストラクタがまだ呼び出されていない場合のみです。 「クローズドクラス型の静的コンストラクタは、特定のアプリケーションドメインで最大で1回のみ実行されます。静的コンストラクタの実行は、アプリケーションドメイン内で発生する次のイベントのうちの最初のものによってトリガされます。 ・クラスタイプが作成されます。 ・クラスタイプの静的メンバーのいずれかが参照されます。 –
どこを読んだのですか?あなたがリンクしている仕様(実際の仕様)へのリンクを見つけることができないか、それともダウンロードする必要がありますか? – Blankman