キーを使用して提供サービスのすべてのタイプを解決する方法はありますか?そのキーは何度か使用されていますか?これは依存性注入のためのものではありません。 私が達成したいのは、グループコンポーネントであり、グループ内のそれらのコンポーネントのリストを取得します。例えば、私はインターフェイス
を持っている:Castle Windsor ResolveAll複数のコンポーネントのキーを使用
interface ICommand
{
void Execute();
}
私はそれぞれの目的は、複数の実装を持つことになると私はそれぞれの目的のためのインタフェースを作成したくない、いくつかの目的のために、このインターフェイスを使用したいが、私がしたいです、このICommandインターフェイスを使用します。
私は以下のような何かを行うことができるようにしたい:
ICommand[] commands = container.ResolveAll<ICommand>("purpose1");
ICommand[] commands2 = container.ResolveAll<ICommand>("purpose2");
上記は登録が既に行われている前提としています。 誰でもこれを行う方法について考えていますか?
Castle Windsorは依存性注入を行うことを目的としていますが、私はこの目的のために役立つことを知っていますが、これは自然にMEFを使用して行うことができますが、一部のコンポーネントは依存性があります。 ありがとうございます。
「ICommand」ではなく「ICommand []」を登録してみませんか? –
あなたが示唆するようにできるようにするためには、単一の場所ですべてのコンポーネントを単一の目的のために知る必要があります@yacoub – arturomonriv
おかげで@YacoubMassad – arturomonriv