DataContractBase.SetProperty Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
SetProperty<T>(T, T, String) |
Изменяет свойство на предоставленное значение. |
SetProperty<T>(T, T, String, Boolean) |
Изменяет свойство на предоставленное значение. |
SetProperty<T>(T, T, String)
Изменяет свойство на предоставленное значение.
Возвращает значение, указывающее, отличается ли новое значение от старого.
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)
Параметры типа
- T
Тип свойства.
Параметры
- propertyBackingField
- T
Сохраняемое поле изменяемого свойства.
- newValue
- T
Новое значение, присваиваемое свойству.
- propertyName
- String
Имя свойства. Рекомендуется жестко задать это значение с помощью элемента вызова метода и не использовать менее эффективный (хотя и более удобный для рефакторинга) подход, заключающийся в использовании отражения или лямбда-выражений для получения имени свойства. Недостатком жесткого задания является уязвимость к опечаткам и ошибкам при копировании. Однако эта уязвимость устраняется с помощью модульных тестов, использующих отражение, чтобы проверить этот параметр для всех свойств класса у контракта данных. Идея заключается в том, чтобы снижение производительности отражения наблюдалось в модульных тестах, а не в рабочем коде.
Применяется к
SetProperty<T>(T, T, String, Boolean)
Изменяет свойство на предоставленное значение.
Возвращает значение, указывающее, отличается ли новое значение от старого.
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
Параметры типа
- T
Тип свойства.
Параметры
- propertyBackingField
- T
Сохраняемое поле изменяемого свойства.
- newValue
- T
Новое значение, присваиваемое свойству.
- propertyName
- String
Имя свойства. Рекомендуется жестко задать это значение с помощью элемента вызова метода и не использовать менее эффективный (хотя и более удобный для рефакторинга) подход, заключающийся в использовании отражения или лямбда-выражений для получения имени свойства. Недостатком жесткого задания является уязвимость к опечаткам и ошибкам при копировании. Однако эта уязвимость устраняется с помощью модульных тестов, использующих отражение, чтобы проверить этот параметр для всех свойств класса у контракта данных. Идея заключается в том, чтобы снижение производительности отражения наблюдалось в модульных тестах, а не в рабочем коде.
- emptyStringIsNull
- Boolean
Флаг, указывающий, что нужно делать, когда newValue содержит пустую строку. Если это значение равно true, пустые строки обрабатывается аналогично значениям NULL. Иными словами, если при установленном флаге существующее значение равно NULL и указана пустая строка, это не даст никакого эффекта.
Возвращаемое значение
Указывает, было ли изменено свойство. То есть отличается ли новое значение свойства от старого.