问题:无法将属性的支持字段设置为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;
这解决了问题,但为什么我必须公开支持字段?我在网上看到的例子使用私人支持字段......?
答案 0 :(得分:2)
请使用新的重载,除非您没有使用> = VS2012:
this.RaiseAndSetIfChanged(ref theBackingField, value);