首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EventHandler误解

EventHandler误解
EN

Stack Overflow用户
提问于 2013-02-25 23:25:15
回答 2查看 94关注 0票数 1

我已经读到了下面的问题,它询问了委派和EventHandler之间的区别:Difference between EventHandler and delegete void()。今天下午,我在这里读到了一些其他问题。

我知道委派是指向函数的指针,并且是多播的。我读到“我是事件处理器”是一个“委托”。我注意到它有这样的签名:

代码语言:javascript
复制
Public Delegate Sub EventHandler ( _
    sender As Object, _
    e As EventArgs _
)

但是,它不从Delegate继承。我确实使用了VB.NET中的Handles关键字,例如Handles Button1Click。事件处理程序的意义是什么?它只是一个带有两个论据的委托,即Object和EventArgs?为什么EventHandler类不从委托继承?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-25 23:27:58

事件处理程序是要在事件发生时执行的例程。

委托是对例程的引用。

如果没有处理程序,则委托不能引用任何内容。

委托是VB处理函数指针的简单方法。EventHandler不需要继承委托,因为它是一个函数,而不是指针。

票数 0
EN

Stack Overflow用户

发布于 2013-02-25 23:51:00

委派不是类。因此,它不能被继承。

正如您所观察到的,EventHandler只是一个具有众所周知签名的委托,因此定义了一种统一的事件触发和处理方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15070373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档