events - 为什么事件被定义为委托(delegate)

标签 events c#-4.0 delegates event-handling

我开始使用 ASP.NET 控件,出现了一个问题: “为什么 ASP 控件中的事件被定义为委托(delegate),而不是方法”?

最佳答案

因为事件必须指向它以某种方式触发的函数,而在 C# 中,这种机制是通过委托(delegate)来实现的。

回复评论:

Then, why is such not a case with Java that uses only methods to fire events?

因为 Java 使用旧的传统事件模式(如 C++)。 C# 委托(delegate)更易于使用,并且还允许您指向静态函数而不是强制使用类方法。

关于events - 为什么事件被定义为委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8568356/

相关文章:

ios - quickBlox iOS SDK 的委托(delegate)问题真的很奇怪

javascript - 如何在angular js中监听dom就绪事件

javascript - 查找 DOM 元素上使用 jQuery 添加的回调函数

c# - 有没有一种优雅的方法可以将单个事件处理程序附加到 WPF 中的所有预览鼠标事件?

javascript - 动态创建的元素上的事件绑定(bind)?

c#-4.0 - ReportViewer页面方向

c++ - 如何提高我的 C++ 程序读取分隔文本文件的速度?

ios - 我的自定义 RxDelegateProxy 立即处理

c# - 动态参数导致编译器认为方法返回是动态的

c# - 委托(delegate)给 C# 中的属性