类派生一个自定义类。不需要在类以外公开委托集合的实现详细信息。
类中的每个事件属性定义一个 add 访问器方法和一个 remove 访问器方法。事件属性的 add 访问器将输入委托实例添加到委托集合。事件属性的 remove 访问器从委托集合中移除输入委托实例。事件属性访问器使用事件属性的预定义键在委托集合中添加和从委托集合中移除实例。
使用事件属性处理多个事件
-
在引发事件的类中定义一个委托集合。
-
定义每个事件的键。
-
在引发事件的类中定义事件属性。
-
使用委托集合实现事件属性的 add 访问器方法和 remove 访问器方法。
-
使用公共事件属性可在处理事件的类中添加和移除事件处理程序委托。
Visual Basic 2005 中不支持事件属性。
| C# | |
|---|---|
// The class SampleControl defines two event properties, MouseUp and MouseDown.
class SampleControl: Component {
// :
// Define other control methods and properties.
// :
// Define the delegate collection.
protected EventHandlerList listEventDelegates = new EventHandlerList();
// Define a unique key for each event.
static readonly object mouseDownEventKey = new object();
static readonly object mouseUpEventKey = new object();
// Define the MouseDown event property.
| |