C# 中委托和事件之间的区别

csharpserver side programmingprogramming

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

委托

  • 可以使用 ‘delegate’ 关键字声明。

  • 它是一个函数指针。

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

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

  • 它不依赖于事件。

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

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

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

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

事件

  • 可以使用‘event’ 声明关键字。

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

  • 它依赖于委托。

  • 没有委托就无法创建它。

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

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

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

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

  • 这些句柄包括 AddEventHandler() 和 RemoveEventHandler() 等方法,分别帮助将方法添加到调用列表中或从中移除。

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

  • ‘=’ 运算符不能与事件一起使用。

  • ‘+=’ 和 ‘-=’ 运算符可以与事件一起使用,分别添加或移除事件处理程序。

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


相关文章