Inject alle Dienste, die eine Schnittstelle implementieren

8

Einfaches Szenario:

Ich habe mehrere Dienste, die eine gemeinsame Schnittstelle implementieren. Alle diese Dienste sind in der bootstrap -Methode registriert.

Jetzt hätte ich gerne einen anderen Dienst, der alle registrierten Dienste einfügt, die die gemeinsame Schnittstelle implementieren.

d. h.

%Vor%

Ist das irgendwie möglich?

    
Benjamin M 10.03.2016, 12:29
quelle

2 Antworten

7

Sie müssen Ihre Dienstleister wie folgt registrieren:

%Vor%

Dies funktioniert nur mit Klassen, die nicht mit Interfaces arbeiten, da Interfaces zur Laufzeit nicht existieren.

Damit es mit Schnittstellen funktioniert, müssen Sie es anpassen:

%Vor%

und injiziere diesen Weg:

%Vor%

Siehe diese Plunkr für weitere Details: Ссылка .

Siehe diesen Link für weitere Details:

Thierry Templier 10.03.2016, 12:34
quelle
3

Da Schnittstellen zur Laufzeit nicht verfügbar sind (nur für statische Prüfungen), können Schnittstellen nicht für DI verwendet werden.

Verwenden Sie stattdessen ein Token: Ссылка

%Vor% %Vor% %Vor%     
Günter Zöchbauer 10.03.2016 12:40
quelle

Tags und Links