Raising an Event

Chia sẻ: Nghia Tuan | Ngày: | Loại File: PDF | Số trang:1

0
41
lượt xem
3
download

Raising an Event

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Raising an Event

  1. 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 (this.MachineOverheating != null) { this.MachineOverheating(); } } ... } 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 error.
Đồng bộ tài khoản