0

private問題:値を に設定すると次の例外が発生するため、プロパティのバッキング フィールドを に設定できませんName

System.ArgumentException : You must declare a 
backing field for this property named: _Name

私のコード:

public class MyVM : ReactiveObject
{
    private string _Name;
    public string Name
    {
        get { return _Name; }

        set { this.RaiseAndSetIfChanged(x => x.Name, value); }
    }
}

これを修正するために、_Name を public に設定することができました:

    public string _Name;

これで問題は解決しましたが、バッキング フィールドをパブリックとして公開する必要があるのはなぜですか? 私がネットで見る例では、プライベート バッキング フィールドを使用しています...?

4

1 に答える 1

2

Use the new overload instead, unless you're not using >= VS2012:

this.RaiseAndSetIfChanged(ref theBackingField, value);
于 2013-09-22T21:28:21.807 に答える