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 и указана пустая строка, это не даст никакого эффекта.

Возвращаемое значение

Указывает, было ли изменено свойство. То есть отличается ли новое значение свойства от старого.

Применяется к