これは城ではまっすぐ進むかもしれないと思うが、私はこの技術を初めて使い、何時間もグーグルで運がない!登録時にコンポーネントをシングルトンとしてインスタンス化するにはどうすればよいですか?
私は次があります。
container.Register(
Component.For<MySpecialClass>().UsingFactoryMethod(
() => new MySpecialClass()).LifeStyle.Singleton);
私は実際に城を尋ねるまで、今はかなり当然これは遅延ロードされ、実行されていないUsingFactoryMethod()に渡されたラムダ式、つまり私にされて解決することですクラスのインスタンス
しかし、私が登録したらすぐにキャッスルにインスタンスを作成させていただきたいと思います。これは可能ですか?あなただけregister an existing instanceことができ、この単純なケースでは
ありがとうございます!ここでは、私が使用し終わったものがあります - container.Register(Component.For()。Instance(new MySpecialClass())); –
jameskind
これは、インスタンス化をコンテナに残さず、したがってIoCパターンを破棄しないため、最良のアプローチのようには見えません。 –
@DavidPerlman私がこの答えを書いたとき、MosheLeviの最近の答えがそう簡単にはないと思います。 –