tailieunhanh - Raising an Event

Nâng cao một sự kiện sự kiện An có thể được nâng lên, giống như một đại biểu, bằng cách gọi nó như một phương pháp. Khi bạn nâng cao một sự kiện, tất cả các đại biểu thuộc được gọi theo thứ tự. Ví dụ, đây là lớp TemperatureMonitor với một phương pháp thông báo cho tư nhân làm tăng sự kiện MachineryOverheating | Raising an Event An event can be raised just like a delegate by calling it like a method. When you raise an event all the attached delegates are called in sequence. For example here s the TemperatureMonitor class with a private Notify method that raises the MachineryOverheating event class TemperatureMonitor public delegate void StopMachinerDelegate public event StopMachineryDelegate MachineOverheating . private void Notify if null . This is a common idiom. The null check is necessary because an event field is implicitly null and only becomes non-null when a method subscribes to it by using the operator. If you try and raise a null event you will get a NullReferenceException. If the delegate defining the event expects any parameters the appropriate arguments must be provided when you raise the event. You will see some examples of this later. IMPORTANT Events have a very useful built-in security feature. A public event such as MachineOverheating can only be raised by methods within the class that define it the TemperatureMonitor class . Any attempt to raise the method outside of the class will result in a compiler .