私の場合、Castle Windsor を IoC コンテナーとして使用しています。
IoC コンテナーがコンポーネントを作成するときにオブジェクトを作成するのではなく、実行時にコンストラクター引数の 1 つが既存のオブジェクトに設定されるコンポーネントを宣言したいと思います。たとえば、アプリケーションのメイン フォームのインスタンスです。
私は2つのアプローチがあると思います:
- 最初にコンテナーを介してオブジェクトを作成し、必要なランタイム値で構成して、後でコンポーネントが Windsor に要求したときにすぐに使用できるようにします。
- コンポーネントが値を注入する必要がある場合
IFormProvider
と 具体的なを作成し、その後フォーム インスタンス (つまり) を要求します。FormProvider
IFormProvider
formProvider.Form
これについて何か前進はありますか?