2009-04-27 16 views
4

私は最近C#で作業しているC/C++プログラマです。私はいくつかの問題に直面しています。C#はプログラムの起動時にオブジェクトをインスタンス化/初期化します

私が思い浮かべることができるのは、「熱心な」シングルトンを作成したいということです。プログラムの起動時にすぐに作成されますが、プログラムの主な機能に入る必要はありません。最初に "Singleton.Instance()"と言ってください。私は静的インスタンス化について読んで、静的オブジェクトがインスタンス化される前に呼び出されるか作成されなければならないように見えるので、オブジェクトをインスタンス化する静的変数を作成しようとしましたが、うまくいきませんでした。 (私は、静的変数がインスタンス化/初期化されたときのドキュメントを見つけることができませんでした)。

任意のポインタ?

ありがとうございます!

編集:いくつかの追加の研究の後、私は私は私はあなたが最初に含まれているクラスを参照する場合、静的コンストラクタのみが呼び出された反射

+0

シングルトンの危険性を考えるための食べ物http://www.youtube.com/watch?v=-FRm3VPhseI –

+2

追加の研究結果を共有しますか? – bboyle1234

+0

C#でのシングルトンの実装に関するJon Skeetの記事 - [http://www.yoda.arachsys.com/csharp/singleton.html](http://www.yoda.arachsys.com/csharp/singleton.html) – abhilash

答えて

2

を利用したコードの単一のブロックで探しているものを達成することができると思いますコンストラクタ。したがって、プログラムの起動時に初期化コードを実行する場合は、スタートアップコードのコンストラクタを含むクラス(たとえば、Mainメソッド)を明示的に参照する必要があります。

関連する問題