Wie benutzt man Castle Windsor - Fluent Interface, um generische Interfaces zu registrieren?

8

Castle Windsor kam gerade mit einer Fluent-Schnittstelle für die Registrierung von Komponenten als Alternative zur Verwendung von XML in einer Konfigurationsdatei heraus. Wie verwende ich diese Fluent-Schnittstelle, um eine Generische Schnittstelle zu registrieren?

Zur Veranschaulichung habe ich:

%Vor%

Dies wird von einer Klasse namens Foo implementiert. Wenn ich das jetzt registrieren möchte, mache ich etwas wie ...

%Vor%

Wie gehe ich bei der Registrierung mit diesem vor? Die Prozedur zum Ausführen der nicht generischen Schnittstelle funktioniert nicht.

    
Phil 05.06.2011, 04:32
quelle

2 Antworten

15

So etwas?

%Vor%

Schnittstelle

%Vor%     
danyolgiax 05.06.2011, 04:47
quelle
4

In Ihrer Frage ist unklar, ob Sie die offene generische IFoo<T,U> -Schnittstelle einer oder mehreren Implementierungen zuordnen müssen, die jeweils eine geschlossene Version dieser Schnittstelle implementieren (Batch-Registrierung) oder Sie die offene generische Schnittstelle einer zuordnen möchten Öffnen Sie die generische Implementierung.

Danyolgiax gab ein Beispiel für Chargenregistrierung. Wenn Sie eine offene generische Schnittstelle einer offenen generischen Implementierung zuordnen, können Sie eine geschlossene Version dieser Schnittstelle anfordern und eine geschlossene Version der angegebenen Implementierung zurückgeben. Die Registrierung für das Zuordnen eines offenen generischen Typs würde typischerweise wie folgt aussehen:

%Vor%

Sie können dies wie folgt lösen:

%Vor%

Wie Sie sehen können, können Sie jede geschlossene Version der offenen generischen Schnittstelle auflösen.

    
Steven 05.06.2011 12:22
quelle