DataContractBase.SetProperty Methode

Definition

Überlädt

Name Beschreibung
SetProperty<T>(T, T, String)

Ändert die Eigenschaft auf den gegebenen Wert.
Gibt zurück, ob der neue Wert sich vom alten unterscheidet.

SetProperty<T>(T, T, String, Boolean)

Ändert die Eigenschaft auf den gegebenen Wert.
Gibt zurück, ob der neue Wert sich vom alten unterscheidet.

SetProperty<T>(T, T, String)

Ändert die Eigenschaft auf den gegebenen Wert.
Gibt zurück, ob der neue Wert sich vom alten unterscheidet.

protected void SetProperty<T>(ref T propertyBackingField, T newValue, string propertyName = default);
member this.SetProperty : 'T * 'T * string -> unit
Protected Sub SetProperty(Of T) (ByRef propertyBackingField As T, newValue As T, Optional propertyName As String = Nothing)

Typparameter

T

Der Eigenschaftstyp.

Parameter

propertyBackingField
T

Das Hintergrundfeld der Immobilie muss sich ändern.

newValue
T

Der neue Wert, der der Immobilie zu verleihen.

propertyName
String

Der Name der Eigenschaft. Es wird empfohlen, diesen Wert vom Methodenaufrufer fest zu kodieren, anstatt einen weniger performanten (aber refaktorfreundlicheren) Ansatz wie Reflection- oder Lambda-Ausdrücke zu verwenden, um den Eigenschaftsnamen zu erhalten. Der Nachteil des Hardcoding ist die Anfälligkeit für Tippfehler und Copy-Paste-Fehler. Diese Schwachstelle wird jedoch durch Unit-Tests gemildert, die Reflexion verwenden, um diesen Parameter für alle Eigenschaften der Datenvertragsklassen zu überprüfen. Die Idee dahinter ist, dass es besser ist, die Reflection Performance Negativität in den Unit-Tests zu zahlen, statt im Produktionscode.

Gilt für:

SetProperty<T>(T, T, String, Boolean)

Ändert die Eigenschaft auf den gegebenen Wert.
Gibt zurück, ob der neue Wert sich vom alten unterscheidet.

protected bool SetProperty<T>(ref T propertyBackingField, T newValue, string propertyName = default, bool emptyStringIsNull = false);
member this.SetProperty : 'T * 'T * string * bool -> bool
Protected Function SetProperty(Of T) (ByRef propertyBackingField As T, newValue As T, Optional propertyName As String = Nothing, Optional emptyStringIsNull As Boolean = false) As Boolean

Typparameter

T

Der Eigenschaftstyp.

Parameter

propertyBackingField
T

Das Hintergrundfeld der Immobilie muss sich ändern.

newValue
T

Der neue Wert, der der Immobilie zu verleihen.

propertyName
String

Der Name der Eigenschaft. Es wird empfohlen, diesen Wert vom Methodenaufrufer fest zu kodieren, anstatt einen weniger performanten (aber refaktorfreundlicheren) Ansatz wie Reflection- oder Lambda-Ausdrücke zu verwenden, um den Eigenschaftsnamen zu erhalten. Der Nachteil des Hardcoding ist die Anfälligkeit für Tippfehler und Copy-Paste-Fehler. Diese Schwachstelle wird jedoch durch Unit-Tests gemildert, die Reflexion verwenden, um diesen Parameter für alle Eigenschaften der Datenvertragsklassen zu überprüfen. Die Idee dahinter ist, dass es besser ist, die Reflection Performance Negativität in den Unit-Tests zu zahlen, statt im Produktionscode.

emptyStringIsNull
Boolean

Ein Flag, das anzeigt, was zu tun ist, wenn newValue zufällig ein leerer String ist. Wird dieser Wert auf true gesetzt, werden leere Strings genauso behandelt wie Nullwerte. Das heißt, wenn der bestehende Wert null ist und eine leere Zeichenkette mit diesem Flag gesetzt wird, hat dies keine Auswirkung.

Gibt zurück

Ob das Grundstück geändert wurde. Das heißt, ob der gegebene neue Wert sich vom alten Wert der Immobilie unterscheidet.

Gilt für: