DataContractBase.SetProperty Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| SetProperty<T>(T, T, String) |
Ändert die Eigenschaft auf den gegebenen Wert. |
| SetProperty<T>(T, T, String, Boolean) |
Ändert die Eigenschaft auf den gegebenen Wert. |
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.