jde*_*aan 12
你应该在C#中使用属性,然后你可以在setter中添加你想要的任何处理(记录,触发事件......)
private Boolean _boolValue
public Boolean BoolValue
{
get { return _boolValue; }
set
{
_boolValue = value;
// trigger event (you could even compare the new value to
// the old one and trigger it when the value really changed)
}
}
Run Code Online (Sandbox Code Playgroud)
手动,是的,你可以
public delegate void SomeBoolChangedEvent();
public event SomeBoolChangedEvent SomeBoolChanged;
private bool someBool;
public bool SomeBool
{
get
{
return someBool;
}
set
{
someBool = value;
if (SomeBoolChanged != null)
{
SomeBoolChanged();
}
}
}
Run Code Online (Sandbox Code Playgroud)
不确定这是否是你想要的.
这里的重要问题是:何时bool 发生变化?
由于bool是值类型,因此无法直接传递对它的引用.因此,谈论任何类似Changed事件bool本身是没有意义的- 如果发生bool变化,它会被另一个变更,而bool不会被修改.
如果我们在谈论bool参考类型的字段或属性,则图片会发生变化.在这种情况下,公认的做法是将bool属性公开(公共字段不受欢迎)并使用该INotifyPropertyChanged.PropertyChanged事件来引发"已更改"通知.
| 归档时间: |
|
| 查看次数: |
14941 次 |
| 最近记录: |