我学习C#编程语言。我无法理解Events and Delegates
的基本概念。我已经看过很多关于Events and Delegates
的教程,但我仍然对它们的概念感到困惑。我还不了解利用事件的基点。我对Delegates
知道委托与函数指针类似可以使用具有相同参数和返回类型的Delegate
来调用任何函数,但是为什么会使用事件。有人同样可以澄清一个情况,即如果我不利用事件,那么利用事件是很重要的Events
还请解释一下EventHandler
类型或类别吗?在下面的代码中
public static event EventHandler myevent;
谢谢。
答案 0 :(得分:1)
如果你得到代表而不是你能想到的事件只是作为那些代表的集合/列表,你将按要求召集(如果你举起活动) - 它只不过了。
当您不知道(或者不想知道)可能对这些信息感兴趣的信息时,这是让信息流出您的对象的便捷形式。
对于问题的第二部分:EventHandler
只是一个delegate,它提供了一个公共表单(事件的发件人和EventArgs
的信息)
答案 1 :(得分:0)
事件发生了一个标志,发生了一些事情,常见的是当你点击按钮时,它会引发一个事件,告诉别人发生了“某事”。事件处理程序可以在引发该事件时执行某些操作。
因此,当您单击按钮时可能需要执行某些操作时,可以设置处理程序以在单击按钮时激活。您还可以将多个事件处理程序附加到特定事件,每个事件处理程序执行不同的操作。
事件关键字只是一种创建自己的“按钮点击”或“关于选择更改”事件的方法,而EventHandler可以让您捕获它们并在此之后执行操作。
答案 2 :(得分:0)
EventHandler
是一个委托,是一个委托,是一个委托...一个功能模式,如果你愿意的话。
整个Event
和Delegate
系统更像是一种设计模式,它构建在语言中。一旦你习惯了它并开始定义自己的Delegates
和EventArgs
,你会发现它非常方便。
它们的使用也是常识,因此如果您想共享库,则需要较少的文档。