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
SetProperty<T>(T, T, String) |
Ändert die Eigenschaft in den angegebenen Wert. |
SetProperty<T>(T, T, String, Boolean) |
Ändert die Eigenschaft in den angegebenen Wert. |
SetProperty<T>(T, T, String)
Ändert die Eigenschaft in den angegebenen Wert.
Gibt die Information zurück, ob sich der neue Wert vom alten Wert 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 Eigenschaftentyp.
Parameter
- propertyBackingField
- T
Das dahinter liegende Feld der zu ändernden Eigenschaft.
- newValue
- T
Der neue Wert, auf den die Eigenschaft festgelegt werden soll.
- propertyName
- String
Der Name der Eigenschaft. Es wird empfohlen, dass dieser Wert von der aufrufenden Funktion der Methode hartcodiert wird. Diese Vorgehensweise sollte der Verwendung eines weniger leistungsstarken Ansatzes (der jedoch eine einfachere Umgestaltung ermöglicht) vorgezogen werden, wie z. B. der Verwendung von Reflexion oder Lambda-Ausdrücken zum Abrufen des Eigenschaftennamens. Der Nachteil der Hartcodierung ist das Risiko von Tippfehlern oder Fehlern beim Kopieren und Einfügen von Text. Dieses Risiko wird jedoch durch Komponententests gemindert, bei denen dieser Parameter mithilfe von Reflexion für alle Datenvertrag-Klasseneigenschaften überprüft wird. Diese Vorgehensweise wird gewählt, weil es sich anbietet, die Leistungseinbußen aufgrund der Reflexion nicht im Produktionscode, sondern bei den Komponententests in Kauf zu nehmen.
Gilt für:
SetProperty<T>(T, T, String, Boolean)
Ändert die Eigenschaft in den angegebenen Wert.
Gibt die Information zurück, ob sich der neue Wert vom alten Wert 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 Eigenschaftentyp.
Parameter
- propertyBackingField
- T
Das dahinter liegende Feld der zu ändernden Eigenschaft.
- newValue
- T
Der neue Wert, auf den die Eigenschaft festgelegt werden soll.
- propertyName
- String
Der Name der Eigenschaft. Es wird empfohlen, dass dieser Wert von der aufrufenden Funktion der Methode hartcodiert wird. Diese Vorgehensweise sollte der Verwendung eines weniger leistungsstarken Ansatzes (der jedoch eine einfachere Umgestaltung ermöglicht) vorgezogen werden, wie z. B. der Verwendung von Reflexion oder Lambda-Ausdrücken zum Abrufen des Eigenschaftennamens. Der Nachteil der Hartcodierung ist das Risiko von Tippfehlern oder Fehlern beim Kopieren und Einfügen von Text. Dieses Risiko wird jedoch durch Komponententests gemindert, bei denen dieser Parameter mithilfe von Reflexion für alle Datenvertrag-Klasseneigenschaften überprüft wird. Diese Vorgehensweise wird gewählt, weil es sich anbietet, die Leistungseinbußen aufgrund der Reflexion nicht im Produktionscode, sondern bei den Komponententests in Kauf zu nehmen.
- emptyStringIsNull
- Boolean
Ein Flag, das die Vorgehensweise angibt, wenn newValue eine leere Zeichenfolge ist. Wenn dieser Wert auf „true“ festgelegt ist, werden leere Zeichenfolgen wie NULL-Werte behandelt. Wenn der vorhandene Wert also „NULL“ lautet und für eine leere Zeichenfolge dieses Flag aktiviert ist, hat dies keine Auswirkungen.
Gibt zurück
Gibt an, ob die Eigenschaft geändert wurde. Das heißt, ob der angegebene neue Wert sich vom alten Wert der Eigenschaft unterscheidet.