Angenommen eine Zuordnung mit AutoMapper wie unten:
%Vor%Was ist der Unterschied der Ersatzbedingung durch PreCondition:
%Vor%Was ist der praktische Unterschied zwischen diesen beiden Methoden?
Der Unterschied besteht darin, dass PreCondition vor dem Eingeben des Quellwerts und des Bedingungsprädikats ausgeführt wird. In diesem Fall wird also das PreCondition-Prädikat ausgeführt, bevor der Wert von MyProperty abgerufen wird, und dann der Wert from Eigenschaft wird ausgewertet und schließlich wird Condition ausgeführt.
Im folgenden Code können Sie dies sehen
%Vor%Die Ausgabe von diesem Programm ist:
%Vor%Da die Condition-Methode eine Überladung enthält, die eine ResolutionContext-Instanz mit einer Eigenschaft namens SourceValue empfängt, wird der Eigenschaftswert aus source ausgewertet, um die SourceValue-Eigenschaft für das ResolutionContext-Objekt festzulegen.
Dieses Verhalten funktioniert ordnungsgemäß bis zur Version & lt; = 4.2.1 und & gt; = 5.2.0.
Bei den Versionen zwischen 5.1.1 und 5.0.2 funktioniert das Verhalten nicht mehr richtig.
Die Ausgabe in diesen Versionen ist:
%Vor%Tags und Links c# automapper