路由事件语法



我有一个关于路由事件的问题,我在一些文档中看到,当我们定义自己的自定义事件时,我们使用以下代码向其添加和删除处理程序:

public event RoutedEventHandler CustomClick
{
    add { AddHandler(CustomClickEvent, value); }
    remove { RemoveHandler(CustomClickEvent, value); }
}

但我的观点是,这既不像构造函数语法,也不像属性初始化语法! 它也不是属性获取/设置语法(尽管它看起来与此类似)。我已经阅读了详细的 C# 文档,但我看不出这是什么类型的结构。仅在有关自定义 RoutedEvents 的文档中,我看到了此代码,但在普通的 C# 教程/入门中,我从未看到这是一个合法的语言构造。谁能向我解释一下?或者指出我一个很好的文档来解释这一点?

提前谢谢。

它们是"事件访问器"。它们是属性语法的事件等效项。它们允许您公开事件并更改其工作方式..在不破坏封装类协定(如属性)的情况下。

有关解释,请参阅此处:http://msdn.microsoft.com/en-us/library/bb882534.aspx

这是为 C# 中的事件保留的语法,另请参阅此处。引用:

add 上下文关键字用于定义在客户端代码订阅事件时调用的自定义事件访问器。如果提供自定义添加访问器,则还必须提供删除访问器。

最新更新