当给定类中的某些内容发生变化时,是否可以触发某些事件?
例如,我有一个具有100
字段的类,其中一个正在外部或内部进行修改。现在我想赶上这个事件。这个怎么做?
我最想知道是否有一个技巧可以快速完成真正扩展的课程。
作为最佳实践,将您的公共字段转换为手动属性并使用 来实现您class
的INotifyPropertyChanged
interface
更改event
。
编辑:因为您提到了 100 个字段,我建议您像在这个很好的答案中那样重构您的代码:Tools for refactoring C# public fields into properties
这是一个例子:
private string _customerNameValue = String.Empty;
public string CustomerName
{
get
{
return this._customerNameValue;
}
set
{
if (value != this._customerNameValue)
{
this._customerNameValue = value;
NotifyPropertyChanged();
}
}
}
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}