次の方法で共有


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 であり、このフラグをオンにした状態で空の文字列を設定した場合、それによる影響はありません。

戻り値

プロパティが変更されたかどうか。 つまり、与えられた新しい値が、プロパティの古い値と異なるかどうか。

適用対象