C# 中委托和事件之间的区别
csharpserver side programmingprogramming
在本文中,我们将了解 C# 中委托和事件之间的区别。
委托
可以使用 ‘delegate’ 关键字声明。
它是一个函数指针。
它在运行时保存对一个或多个方法的引用。
它是一个独立的关键字。
它不依赖于事件。
它包含 Combine() 和 Remove() 方法,可帮助将方法添加到调用列表中。
它可以作为参数传递给方法。
‘=’运算符可用于分配单个方法。
‘+=’ 运算符可用于将多个方法分配给委托。
事件
可以使用‘event’ 声明关键字。
它可以定义为依赖于委托的通知机制。
它依赖于委托。
没有委托就无法创建它。
它可以理解为委托实例的包装器。
这有助于防止委托的用户重置委托及其调用列表。
它仅允许从调用列表中添加或删除目标。
‘EventInfo’类检查事件并帮助绑定事件处理程序。
这些句柄包括 AddEventHandler() 和 RemoveEventHandler() 等方法,分别帮助将方法添加到调用列表中或从中移除。
可以引发事件,但不能将其作为参数传递给方法。
‘=’ 运算符不能与事件一起使用。
‘+=’ 和 ‘-=’ 运算符可以与事件一起使用,分别添加或移除事件处理程序。
这些方法将在内部调用 AddEventHandler 和 RemoveEventHandler 等方法。