在MVVM Light工具包中,带有mvvmincp的代码片段称为mvvminpcset。
inpcset代码段本身
public const string MyPropertyPropertyName = "MyProperty";
private bool _myProperty = false;
public bool MyProperty
{
get
{
return _myProperty;
}
set
{
Set(MyPropertyPropertyName, ref _myProperty, value);
}
}
有人可以举一个用法的例子吗? 我想知道上述片段的使用带来了哪些实际好处。
谢谢
简单的inpc
public const string MyPropertyPropertyName = "MyProperty";
private bool _myProperty = false;
public bool MyProperty
{
get
{
return _myProperty;
}
set
{
if (_myProperty == value)
{
return;
}
_myProperty = value;
RaisePropertyChanged(MyPropertyPropertyName);
}
}
对于您通常实现INPC的方式来说,它只是语法糖:
就我个人而言,我更喜欢通常/冗长的实现,而不是Set,这是唯一的原因,即我喜欢能够放置仅在backing属性的值实际发生变化时才会命中的断点。
如果您有代码样式约定,则可以仅使用其中一种方法
所以你决定用这个