2016-05-12 5 views
0

In Unity Bedeutung 3: Wir haben die folgenden Konstruktor für InjectionFactoryUnity InjectionFactory Werksparameter Funktion

public InjectionFactory(Func<IUnityContainer, Type, string, object> factoryFunc) 

Kann mir jemand sagen, was die Bedeutung der letzten drei Parameter Typ ist, Bindfaden, Objekt?

Antwort

0

Die InjectionFactory selbst erwartet nur einen Delegaten in Form von Func. Die Funktion wird mit den Eingangsparametern Typ und String deklariert, während 'Objekt' das Rückgabeobjekt ist.

Diese Func-Deklaration wird benötigt, da sie in den ObjectBuilder von Unity übergeben wird, der für die Erstellung eines Build-Plans für die Erstellung des Objekts beim Auflösen zuständig ist. Dieser Builder benötigt den Kontext, in dem ein Aufbau- oder Abbruchvorgang ausgeführt wird. Der Builder-Kontext enthält einen Schlüssel in der Form von NamedTypeBuildKey. Auf diese Weise verfolgt der Object Builder genau, was gerade erstellt wird.

Typ ist der Typ des Erstellungsschlüssels, während die Zeichenfolge mit dem Namen des Erstellungsschlüssels verknüpft ist, der zum Nachschlagen der Typzuordnungen verwendet wird.

Die Parameter 'type' und 'string' verweisen also auf den Build-Schlüssel, der von Unity verwendet wird, um den Plan zum Erstellen der im Container registrierten Objekte zu verfolgen.