私はCastle Windsorのドキュメントと既存のトピックをこのコンテナを使用してスタックオーバーフローの依存関係の解決に取り組んだのですが、まだそれは可能ですか?
1)例えば次のようなインターフェースのいくつかの実装を登録する:
container.Register(Component.For<IWait<IWebDriver>>().UsingFactoryMethod(ctx => SmallWait));
container.Register(Component.For<IWait<IWebDriver>>().UsingFactoryMethod(ctx => MediumWait));
container.Register(Component.For<IWait<IWebDriver>>().UsingFactoryMethod(ctx => LongWait));
`
経由で解決するだけです ResolveAll
コンストラクタのパラメータまたはフィールドで自動的に受け取る IEnumerable<T>
.
2)コンテナからコンポーネントの登録を削除するには?
回答:
回答№1の場合は3- はい、それは可能ですが、経由でユニークなIDを与える必要があります
.Named()
. - いいえ、登録解除はサポートされていません。それはいくつかの問題に対する本能的な答えかもしれませんが、それは決して正しいものではありません。