プログラムの開始時に自動的にインスタンス化されるシングルトンを作成したいと思います。私は、「インスタンス化オート」の意味は何C#でシングルトンを自動インスタンス化する
はシングルトンのコードが他のコードによって、すべての呼び出しまたは宣言せずにプログラムの起動時に自分自身をインスタンス化する必要があることです。
これはC#のため、動作しません除いだから私は(何もメインコードなし)プログラムの起動時に「MySingletonインスタンス化」をインスタンス化して書き出すには、以下のような何か...
static class MySingleton
{
private static MySingleton self = new MySingleton();
protected MySingleton()
{
System.Console.WriteLine("MySingleton Instantiated");
}
}
をお勧めしますクラスの静的メンバーを必要に応じて、つまりアクセスされたときなどにのみ初期化します。
どうすればいいですか?これはできますか?
私はC++(しばらくの間、C++を使用していない)と個人的にこれを行っていないが、私はかなりそれがCで行うことができることを確認して++が、C#のについてはよく分かりません。
何か助けていただければ幸いです。ありがとう。共通から継承するすべてが(時間が経つとして追加することができ、より)私は実際に... は、これらのシングルトンクラスの多くがあるでしょう。このとやりたいと思ってる
、 (抽象)親クラス(別名PClass)。
PCLASSは(そして、理論的にはすべてのシングルトンが自動的にコレクションに追加されます...
をPClassesのコレクション...とコレクションに自分自身を追加するためのコンストラクタです静的メンバを持っているでしょうそれらがインスタンス化されると、ベースのPClassコンストラクタが呼び出され、新しいオブジェクトがコレクションに追加されるため)...コレクションは、どの子(シングルトン)クラスが実装されているか、新しい子(シングルトン)クラス他のコードを変更することなくいつでも追加できます。
残念ながら、私はこの記事で、その結果、私の小さな計画を台無しに...子供(シングルトン)は自分自身をインスタンス化することができません。
私はそれを十分に説明しました。
PS。はい、私はシングルトンとその使用の周りに悪い気持ちがあることを知っています...しかし、それらは時には有用であり、サタン自身がシングルトンを作ったとしても、私の問題がC#で達成できるかどうかを知りたいです。あなたに親切に感謝します。
サタンはシングルトンです。 –