Gibt es eine Möglichkeit, alle Arten für einen gebenden Dienst mit einem Schlüssel zu lösen und dieser Schlüssel wird mehrmals verwendet? Dies ist nicht für die Abhängigkeitsinjektion gedacht. Was ich erreichen möchte, ist Gruppenkomponenten, und Liste dieser Komponenten in einer Gruppe.
Zum Beispiel habe ich eine Schnittstelle:Castle Windsor ResolveAll mit Schlüssel in mehreren Komponenten
interface ICommand
{
void Execute();
}
ich diese Schnittstelle für verschiedene Zwecke verwendet werden soll, wird jeder Zweck mehrere Implementierungen haben kann und will ich nicht eine Schnittstelle für jeden Zweck schaffen, möchte ich Verwenden Sie diese ICommand-Schnittstelle.
Ich möchte in der Lage sein, etwas zu tun, wie unten:
ICommand[] commands = container.ResolveAll<ICommand>("purpose1");
ICommand[] commands2 = container.ResolveAll<ICommand>("purpose2");
Above übernimmt Registrierung bereits durchgeführt wurde. Hat jemand eine Idee, wie man das macht?
Ich weiß Castle Windsor soll Dependency Injection zu tun, aber ich fand es hilfreich für diesen Zweck, ich weiß, dass dies mit MEF natürlich getan werden kann, aber einige Komponenten haben Abhängigkeiten, die MEF wie ich weiß nicht injizieren wird. Vielen Dank im Voraus.
Warum registrierst du 'ICommand []' statt 'ICommand'? –
In der Lage zu tun, wie Sie vorschlagen, ich muss an einem Ort alle Komponenten für einen einzigen Zweck wissen, die nicht der Fall sein kann @ yacoub – arturomonriv
BTW danke @ YacoubMassad – arturomonriv