美文网首页
C# 事件和委托的区别

C# 事件和委托的区别

作者: zhaojieandy | 来源:发表于2018-12-05 13:23 被阅读0次

事件是基于委托的,为委托提供了一个发布/订阅机制。可以说事件是一种特殊的委托,他的调用和委托是一样的。

事件的声明
public event 委托类型 事件名称

通常事件的命名以事件名称+Event来命名。如public event delegate NotifyEvent;

事件和委托的区别如下:

事件只能在方法的外部进行声明,而委在方法的外部和内部都可以声明。

事件只能在类的内部触发,不能在类的外部触发。而委托在类的内部和外都都可以触发。

委托一般用于回调,而事件用于外部接口。例如在观察者模式中,在被观察者中可以声明一个事件作为外部观察者注册的接口。

同时,这个事件只能在被观察者内部触发,而观察者中无法触发该事件,从而保证了安全性。

相关文章

  • C# 事件和委托的区别

    事件是基于委托的,为委托提供了一个发布/订阅机制。可以说事件是一种特殊的委托,他的调用和委托是一样的。 事件的声明...

  • unity & C#相关

    事件和委托 C#事件和Unity3d - CSDN博客 Unity常用的函数和遇到的C#的知识整理 Unity常用...

  • C# 基础知识系列- 11 委托和事件

    0. 前言 事件和委托是C#中的高级特性,也是C#中很有意思的一部分。出现事件的地方,必然有委托出现;而委托则不一...

  • C# 高级语言总结

    后续 1 C# 委托 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 ...

  • Unity3d-c#-观察者设计模式-猫抓老鼠

    在这个例子中运用了委托事件机制讲述了事件和委托的区别最大的区别是:事件是特殊的受限的委托,事件只能在类内部调用,不...

  • (转).NET面试题系列[7] - 委托与事件

    委托和事件 委托在C#中具有无比重要的地位。 C#中的委托可以说俯拾即是,从LINQ中的lambda表达式到(包括...

  • C# 委托与事件的区别

    Delegate delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,...

  • c#事件和委托

    https://www.cnblogs.com/yinqixin/p/5056307.html

  • c#委托和事件

    C# 委托 什么是委托 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 在实例化委托时,你可以...

  • 傻傻分不清楚(代理,委托,协议,事件,block)

    tag: C # , iOS 总结C#中的观察者模式(利用委托 和事件(即委托的方法))V...

网友评论

      本文标题:C# 事件和委托的区别

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