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

属性的名称。 建议由方法调用方对此值进行硬编码,而不是使用性能较低(但更加重构友好)的方法(如反射或 lambda 表达式)来获取属性名称。 硬编码的不足之处是容易出现键入错误和复制粘贴类型的错误。 但是,可通过单元测试缓解此错误,单元测试使用反射来验证所有数据协定类属性的此参数。 这样可以更好地在单元测试中而不是生产代码中弥补反射性能的损失。

适用于

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

属性的名称。 建议由方法调用方对此值进行硬编码,而不是使用性能较低(但更加重构友好)的方法(如反射或 lambda 表达式)来获取属性名称。 硬编码的不足之处是容易出现键入错误和复制粘贴类型的错误。 但是,可通过单元测试缓解此错误,单元测试使用反射来验证所有数据协定类属性的此参数。 这样可以更好地在单元测试中而不是生产代码中弥补反射性能的损失。

emptyStringIsNull
Boolean

一个标志,指示 newValue 恰巧是一个空字符串时该怎么办。 如果此值设置为 true,则将空字符串视为与 null 值相同。 也就是说,如果现有值为 null,并且为空字符串设置了此标志,则不会产生任何影响。

返回

属性是否发生了更改。 即,给定的新值是否不同于属性的旧值。

适用于