Пусть говорят, у меня есть класс продукта:Метод перезаписи или событие подключения в подклассе?
public class Product
{
public event ProductColorChangedEventHandler ColorChanged;
protected virtual void OnColorChanged()
{
if (null != ColorChanged)
ColorChanged();
}
}
Если я принадлежащий из этого класса, и мне нужно, чтобы поймать уведомление, когда происходит изменение цвета, это лучше, чтобы переопределить OnColorChanged
или повесьте событие в моем конструктор подкласса?
Ни один из выше. Подкласс должен вызывать 'base.OnColorChanged()' и предоставлять свою собственную реализацию поверх базового вызова. Я не вижу причин для установки события для этой цели. На ум приходит узор декоратора. –
Извините, что я неправильно сформулировал это (я обновил OP). Он должен сказать «поймать уведомление», а не «получить». Другими словами, мне нужно что-то сделать в моем подклассе, когда происходит событие изменения цвета. – BlueChameleon
@BlueChameleon Тогда вы имеете в виду «подписаться» на событие или «добавить обработчик событий», а не «поймать» или «получить». – Servy