静的コンストラクターとインスタンス コンストラクターを持つ単純なクラスがあります。クラスを初期化すると、静的コンストラクターとインスタンスコンストラクターの両方が呼び出されます。アプリケーション ドメインで一度だけ参照されるのは static だけです。同じクラスの初期化と静的コンストラクターの初期化を再度呼び出すことはできますか? やってみたけど出なかった?クラスでガベージ コレクションを使用した後、main() メソッドで静的コンストラクターを再度呼び出す方法はありますか。
コードは次のとおりです。
public class Employee
{
public Employee()
{
Console.WriteLine("Instance constructor called");
}
static Employee()
{
Console.WriteLine("Static constructor called");
}
~Employee()
{
//Dispose();
}
}
メインメソッド呼び出しで:
static void Main(string[] args)
{
Employee emp = new Employee();
Employee emp = new Employee();
}
出力:
呼び出された静的コンストラクター 呼び出されたインスタンス コンストラクター 呼び出されたインスタンス コンストラクター
これで、静的は再度呼び出されなくなりました。アプリケーションドメインで一度呼び出されるためです。しかし、アプリケーション ドメインをアンロードせずに再度呼び出す方法はありますか。ここで GC クラスを使用できますか?
ありがとう。パル