C#中委托和事件的区别

在这篇文章中,我们将了解 C# 中委托和事件之间的区别。

代表

  • 可以使用“delegate”关键字声明。

  • 它是一个函数指针。

  • 它在运行时保存对一个或多个方法的引用。

  • 它是一个独立的关键字。

  • 它不依赖于事件。

  • 它包含帮助将方法添加到调用列表的Combine()和Remove()方法。

  • 它可以作为参数传递给方法。

  • '=' 运算符可用于分配单个方法。

  • '+=' 运算符可用于将多个方法分配给委托。

事件

  • 它可以使用'event'关键字声明。

  • 它可以定义为依赖于委托的通知机制。

  • 这取决于代表。

  • 没有委托就不能创建它。

  • 可以理解为委托实例的包装器。

  • 这有助于防止委托的用户重置委托及其调用列表。

  • 它只允许从调用列表中添加或删除目标。

  • 'EventInfo' 类检查事件并帮助绑定事件处理程序。

  • 这些句柄包括诸如AddEventHandler()and 之类的方法RemoveEventHandler(),它们有助于分别向调用列表添加和删除方法。

  • 可以引发事件,但不能作为参数传递给方法。

  • '=' 运算符不能用于事件。

  • '+=' 和 '-=' 运算符可分别用于添加或删除事件处理程序的事件。

  • 这些方法会在内部调用 AddEventHandler 和 RemoveEventHandler 等方法。

以上是 C#中委托和事件的区别 的全部内容, 来源链接: utcz.com/z/327564.html

回到顶部