0
    container.Register(
    Component.For<IMyService>()
);

このコードは、サービス IMyService を Windsor コンテナーに登録することを意図していますが、それを行うことの重要な用途は見つかりませんでした。ここで何かが足りないのですか、それとも構文の練習にすぎませんか?

4

1 に答える 1

1

場合によります。

この場合、サービスはインターフェースであるため、デフォルト構成ではそのコンポーネントをインスタンス化できない可能性が高いため、それほど有用ではない可能性があります。おそらく、インターフェースの定義も、コンテナーを構成するコードも示さなかったためです(これについては後で詳しく説明します)。

あなたのサービスがクラスだった場合、それは使用可能な登録になります。

今、より高度なもの。高度なシナリオでは、カスタムIContributeComponentModelConstructionまたはコンポーネントモデル属性(などInterceptorAttribute)を使用して登録を拡張する拡張機能を使用できます。これにより、この単純な登録をより完全なものに拡張できます。

于 2013-02-10T21:49:55.750 に答える