美文网首页
C#中delegate与event的区别

C#中delegate与event的区别

作者: 食不知味_夜不能寐 | 来源:发表于2018-08-14 13:26 被阅读34次

我们都知道delegate与C++中的函数指针类似,实现了将函数作为参数进行传递。而添加了event关键字后,编译器会自动为其添加add, remove两个方法,对应于+=和-=操作。

event更偏向于对外

event更多的体现出一种“对外暴露接口”的思想,在类的内部event与delegate是一样的,而在类的外部,对event只可以执行+=和-=操作,也就是类外部只能注册或注销事件,而不能执行赋值操作。因此,相比delegate,使用event的好处是可以避免外界某个类A对delegate的赋值,导致类B注册的事件被覆盖掉。

相关文章

  • C#委托

    C#中的delegate 在c#中,event与delegate是两个非常重要的概念。因为在Windows应用程序...

  • C#中delegate与event的区别

    我们都知道delegate与C++中的函数指针类似,实现了将函数作为参数进行传递。而添加了event关键字后,编译...

  • delegate 与 event

    相同点:event是delegate 的一种特例。 区别点:1、event可以在Interface中定义。而del...

  • 三七 互娱 2017 笔试

    简述delegate和event关键字 delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用...

  • 用java实现事件驱动机制

    由于项目需求,需要为Java提供一套支持事件驱动机制的类库,可以实现类似于C#中的event和delegate机制...

  • C# 委托

    C#委托 C#中的委托(Delegate)类似于C或C++中函数的指针。委托(Delegate)是存有对某个方法的...

  • C#委托Delegate和事件Event实战应用

    一、委托的概念 C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate)是...

  • C# delegate

    C# 中的 Delegate 类似于 C++ 中函数的指针。所有的委托Delegate都派生自 System.De...

  • C# 委托(Delegate)

    C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针。委托(Delegate) 是存有对某个方法...

  • 19-委托

    C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。 委托(Delegate) 是存有对某个方...

网友评论

      本文标题:C#中delegate与event的区别

      本文链接:https://www.haomeiwen.com/subject/vclpbftx.html