假设我有一个产品类:
public class Product
{
public event ProductColorChangedEventHandler ColorChanged;
protected virtual void OnColorChanged()
{
if (null != ColorChanged)
ColorChanged();
}
}
如果我从这个类继承而且我需要在颜色发生变化时捕获通知,那么覆盖OnColorChanged
或在我的子类构造函数中挂钩事件是否更好?
答案 0 :(得分:3)
我认为首选方法是订阅子类中的事件,如下所示:
public class SubProduct : Product
{
public SubProduct()
{
ColorChanged += new ProductColorChangedEventHandler(color_changed);
}
private color_changed(object sender, EventArgs e)
{
//do stuff
}
}
答案 1 :(得分:0)
您可以覆盖方法
public override OnColorChanged()
{
//do stuff
}
答案 2 :(得分:0)