C#中委托和事件的区别


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

委托

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

  • 它是一个函数指针。

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

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

  • 它不依赖于事件。

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

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

  • 可以使用'='运算符赋值单个方法。

  • 可以使用'+='运算符将多个方法赋值给委托。

事件

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

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

  • 它依赖于委托。

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

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

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

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

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

  • 这些处理程序包括AddEventHandler()和RemoveEventHandler()等方法,分别用于向调用列表中添加和删除方法。

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

  • 不能将'='运算符与事件一起使用。

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

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

更新于:2021年3月24日

1K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.