DataContractBase.SetProperty Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
SetProperty<T>(T, T, String) |
Modifica la proprietà impostandola sul valore specificato. |
SetProperty<T>(T, T, String, Boolean) |
Modifica la proprietà impostandola sul valore specificato. |
SetProperty<T>(T, T, String)
Modifica la proprietà impostandola sul valore specificato.
Indica se il nuovo valore è diverso dal valore precedente.
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)
Parametri di tipo
- T
Tipo della proprietà.
Parametri
- propertyBackingField
- T
Campo sottostante della proprietà da modificare.
- newValue
- T
Nuovo valore da assegnare alla proprietà.
- propertyName
- String
Nome della proprietà. È consigliabile che questo valore venga hardcoded dal chiamante del metodo anziché adottare un approccio meno efficiente (ma più orientato al refactoring) come l'uso della reflection o di espressioni lambda per ottenere il nome della proprietà. Lo svantaggio dell'hardcoding è la vulnerabilità agli errori di digitazione e di copia-incolla. Questa vulnerabilità è però attenuata dagli unit test che usano la reflection per verificare questo parametro per tutte le proprietà di classe del contratto dati. Il concetto è che la riduzione delle prestazioni della reflection è più accettabile negli unit test che nel codice di produzione.
Si applica a
SetProperty<T>(T, T, String, Boolean)
Modifica la proprietà impostandola sul valore specificato.
Indica se il nuovo valore è diverso dal valore precedente.
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
Parametri di tipo
- T
Tipo della proprietà.
Parametri
- propertyBackingField
- T
Campo sottostante della proprietà da modificare.
- newValue
- T
Nuovo valore da assegnare alla proprietà.
- propertyName
- String
Nome della proprietà. È consigliabile che questo valore venga hardcoded dal chiamante del metodo anziché adottare un approccio meno efficiente (ma più orientato al refactoring) come l'uso della reflection o di espressioni lambda per ottenere il nome della proprietà. Lo svantaggio dell'hardcoding è la vulnerabilità agli errori di digitazione e di copia-incolla. Questa vulnerabilità è però attenuata dagli unit test che usano la reflection per verificare questo parametro per tutte le proprietà di classe del contratto dati. Il concetto è che la riduzione delle prestazioni della reflection è più accettabile negli unit test che nel codice di produzione.
- emptyStringIsNull
- Boolean
Flag che indica cosa fare se newValue risulta essere una stringa vuota. Se questo valore è impostato su true, le stringhe vuote vengono trattate come valori Null. In altri termini, se il valore esistente è Null e una stringa vuota viene impostata con questo flag attivo, non avrà alcun effetto.
Restituisce
Se la proprietà è stata modificata. Ovvero se il nuovo valore specificato è diverso dal valore precedente della proprietà.