DataContractBase.SetProperty メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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で空文字列がこのフラグに設定されている場合、効果はありません。
返品
物件が変更されたかどうか。 つまり、与えられた新しい価値が物件の旧価値と異なるかどうかです。