Методы обработки событий становятся полезными, когда у вас есть зависимость от класса, которая должна знать или получать уведомление об изменении состояния:
public class Lamp
{
Bulb inThelamp = new Bulb();
inTheLamp.Glowing += myLampMethod;
// If these arguments have been defined for this event that is
public void myLampMethod(object sender, EventArgs e)
{
// Code to react to the light suddenly being on
}
}
Это позволяет классу Lamp распознавать, что что-то включило лампочку.Во многих случаях это будет происходить через действие в Лампе (щелчок, ручка и т. Д.).Но в некоторых случаях это может быть внешний класс, который вызывает публичное свойство Bulb напрямую, без использования самой лампы (например, if(PowerCompany.BillsPaid) Lamp.BulbInTheLamp.TurnedOn();
).Все это при условии, что модификаторы настроены на такой доступ.
Дело в том, что он позволяет уведомлять о возникновении, а не требует, чтобы определенный метод вызывался вручную каждый раз, когда требуется выполнение действия..