Es ist eine Art Ausgangspunkt in dieser fließenden API für die Auswahl, welche Typen automatisch im Container registriert werden.
Container.Register(
AllTypes.Pick()
.FromAssemblyNamed("MyAssembly")
.If(t => t.Name.EndsWith("ABC"))
.Configure(c => c.LifeStyle.Is(LifestyleType.Transient))
.WithService.Select(i => typeof(I))
);
In diesem Beispiel sind alle Arten von MyAssembly mit dem Namen mit „ABC“ endet gepflückt wird mit Transient Lebensstil als Dienstleistungen von Typ I. Das Beispiel stammt aus this question in den Behälter gegeben werden.
Dies ist ein deklarativer Ansatz in Form von internen DSL. Bei dieser Art von API werden Methoden verwendet, um das Verhalten zu sortieren, das später ausgeführt wird. Um dies zu erreichen, führen die Methoden die Konstrukteure durch die Konfigurationsschritte, während die eigentlichen Arbeiten am Ende ausgeführt werden.
Mausch - Haben Sie darüber nachgedacht, zu Castle docs über fließende Interfce beizutragen? Es ist nicht die erste Frage, auf die du antwortest. –
Ich werde es versuchen –