关于 C# 中的事件和委托的说明

Clarification about Events and Delegates in C#

我是 C# 编程的初学者 language.I 无法理解 Events and Delegates 的基本概念。我看过很多关于 Events and Delegates 的教程,但是我仍然对他们的 concept.I 感到困惑,另外不理解使用 events.I 的基点,对 Delegates 代表是相似的有所了解对于函数指针,我们可以使用具有相同参数和 return 类型的 Delegate 来调用任何函数,但为什么事件是 used.Can 有人同样澄清了一种情况,在这种情况下使用事件很重要如果我不使用 Events 一切都很好 也请解释 EventHandler 是一种类型还是 class?在下面的代码中

public static event EventHandler myevent;

谢谢。

如果您获得的代表比您想象的只是作为这些代表的 collection/list 事件,您将按需召集(如果您提出该事件)-仅此而已。

当您不知道(或不想知道)谁可能对这些信息感兴趣时,这是一种让信息从您的对象中流出的便捷形式。

对于你问题的第二部分:EventHandler只是一个delegate,给出了一个通用的形式(事件的发送者和信息为EventArgs

事件会随着某事的发生而升起一个标志,常见的是当您单击一个按钮时,它会升起一个事件告诉其他人 'something' 发生了。引发该事件时,事件处理程序会执行某些操作。

因此,当您单击一个按钮时,您可能想要做一些事情,您可以设置一个处理程序在单击该按钮时激活。您还可以将多个事件处理程序附加到一个特定事件,每个事件处理程序执行不同的操作。

event 关键字只是一种创建您自己的 'button clicks' 或 'on selection changed' 事件的方法,EventHandler 可让您捕获它们并在之后执行操作。

EventHandler 是委托,是委托,是委托...函数模式,如果你愿意的话。

整个 EventDelegate 系统更像是一种设计模式,它被构建到语言中。一旦习惯并开始定义自己的 DelegatesEventArgs,您会发现它非常方便。 它们的用法也是常识,因此如果您想共享您的库,则需要的文档更少。