Ich verwende Unity für die Abhängigkeitsinjektion. Ich möchte so etwas wie dieses Ziel erreichen:Wie Unity eine Methode nach dem Erstellen einer Objektinstanz aufruft, aber bevor sie irgendwo injiziert wird
public interface MyInterface { void MyMethod(); }
Wenn Unity Behälterbau:
myContainer.RegisterType<MyInterface, MyConcreteType>();
myContainer.AddPostConstructor(x => (x as MyInterface)?.MyMethod());
Ist es möglich? Gibt es einen besseren/eleganteren Weg?
Ist die Methode aus der gleichen Klasse? dann rufen Sie es vom Klassenkonstruktor auf. –
Das Problem ist, dass es mehrere Klassen geben kann, die MyInterface implementieren, einige können in der Zukunft hinzugefügt werden. Sie können durch ihre konkreten Typen gelöst werden, nicht unbedingt durch MyInterface. – Jimmyjoe