|
托管事件是数据成员或成员函数。 当与事件一起使用时,委托的返回类型必须符合公共语言规范。 事件处理程序的返回类型必须与委托的返回类型匹配。 有关委托的详细信息,请参阅委托和事件。 如果托管事件是数据成员,则其类型必须是指向委托的指针。
在 .NET Framework 中,您可以将数据成员视为方法本身(即,其对应委托的 Invoke 方法)。 为此,请预定义用于声明托管事件数据成员的委托类型。 相反,托管事件方法隐式定义了相应的托管委托(如果尚未定义)。 例如,您可以将事件值(如 OnClick)声明为下面所示的事件:
// Examples of managed events:
__event ClickEventHandler* OnClick; // data member as event
__event void OnClick(String* s); // method as event
隐式声明托管事件时,可以指定添加或移除添加或移除事件处理程序时将调用的 add 和 remove 访问器。 还可以定义从类外部调用(引发)事件的成员函数。
|
|