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
| Nome | Descrizione |
|---|---|
| SetProperty<T>(T, T, String) |
Cambia la proprietà al valore dato. |
| SetProperty<T>(T, T, String, Boolean) |
Cambia la proprietà al valore dato. |
SetProperty<T>(T, T, String)
Cambia la proprietà al valore dato.
Restituisce se il nuovo valore è diverso dal vecchio.
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 di proprietà.
Parametri
- propertyBackingField
- T
Il campo di supporto della proprietà deve cambiare.
- newValue
- T
Il nuovo valore da assegnare alla proprietà.
- propertyName
- String
Nome della proprietà. Si raccomanda che questo valore venga codificato in modo rigido dal method caller, piuttosto che utilizzare un approccio meno performante (ma più favorevole al rifactor) come l'uso di espressioni reflection o lambda per ottenere il nome della proprietà. Lo svantaggio della hardcoding è la vulnerabilità agli errori di battitura e copia-incolla. Tuttavia, questa vulnerabilità viene mitigata da test unitari che utilizzano la riflessione per verificare questo parametro per tutte le proprietà della classe contrattuale dei dati. L'idea è che sia meglio pagare la penalità di performance di riflessione nei test unitari, piuttosto che nel codice di produzione.
Si applica a
SetProperty<T>(T, T, String, Boolean)
Cambia la proprietà al valore dato.
Restituisce se il nuovo valore è diverso dal vecchio.
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 di proprietà.
Parametri
- propertyBackingField
- T
Il campo di supporto della proprietà deve cambiare.
- newValue
- T
Il nuovo valore da assegnare alla proprietà.
- propertyName
- String
Nome della proprietà. Si raccomanda che questo valore venga codificato in modo rigido dal method caller, piuttosto che utilizzare un approccio meno performante (ma più favorevole al rifactor) come l'uso di espressioni reflection o lambda per ottenere il nome della proprietà. Lo svantaggio della hardcoding è la vulnerabilità agli errori di battitura e copia-incolla. Tuttavia, questa vulnerabilità viene mitigata da test unitari che utilizzano la riflessione per verificare questo parametro per tutte le proprietà della classe contrattuale dei dati. L'idea è che sia meglio pagare la penalità di performance di riflessione nei test unitari, piuttosto che nel codice di produzione.
- emptyStringIsNull
- Boolean
Un flag che indica cosa fare se newValue risulta essere una stringa vuota. Se questo valore è impostato su vero, le stringhe vuote sono trattate allo stesso modo dei valori nulli. Cioè, se il valore esistente è nullo e una stringa vuota viene impostata con questo flag attivo, non avrà alcun effetto.
Valori restituiti
Se la proprietà è stata modificata. Cioè, se il nuovo valore dato sia diverso dal valore precedente della proprietà.