c# - 路由事件语法

标签 c# routed-events

<分区>

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

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# - 路由事件语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20669916/

相关文章:

wpf - WPF 中的命令绑定(bind)内存泄漏

C# 开关语句 : More efficient to not use default?

c# - 在 WebView 中调用 window.open JavaScript

c# - 在选择更改事件上禁用事件冒泡 - WPF

wpf - PreviewMouseDown 未按预期进行隧道传输

c# - 为什么 e.Handled = true 不起作用?

c# - 错误 : MSB4803: The task "ResolveComReference" is not supported on the . NET Core 版本的 MSBuild

c# - 如何绑定(bind) ComboBox 以便 displaymember 是源数据表的 2 个字段的 concat?

c# - 如何设置 Swashbuckle 与 Microsoft.AspNetCore.Mvc.Versioning

c# - WPF 中的 MouseEnter 和 MouseLeave 处理(使用 VS2008 和 .net 3.5)未按预期工作