美文网首页
C#委托的用法

C#委托的用法

作者: 浪荡少年 | 来源:发表于2019-08-16 10:52 被阅读0次

首先声明一个委托的类,例如: public delegate void ChatMessage(ModelChatResponse chat); 我这里的ModelChatResponse 是自定义的一个实体类

然后在一个类(最好是个单例类,不销毁的那种)中声明一个委托变量,例如: public ChatMessage SaveChatMessage;

然后在需要广播的类中声明一个函数,例如: public void SetChatMessage(ModelChatResponse model){  };

再在这个需要广播的类中让单例类绑定这个函数(最好在Start里面绑定),例如: GameData.Instance.SaveChatMessage += SetChatMessage;

还需要在OnDestroy生命周期里解除绑定,例如: GameData.Instance.SaveChatMessage -= SetChatMessage;

接下来就是如何广播这个委托了,特别简单,

只需要判断一下单例类里面的这个委托变量为不为空就可以了,例如:

if (SaveChatMessage != null)

{

    ModelChatResponse model = JsonMapper.ToObject<ModelChatResponse>(res.Data);

    SaveChatMessage(model);

}

以上的操作就是当你对单例类的委托变量进行操作时,这个委托变量就会广播所有绑定这个变量的函数,然后这些函数都会执行广播后的处理了

相关文章

  • C#委托的用法

    首先声明一个委托的类,例如: public delegate void ChatMessage(ModelCha...

  • C# 委托

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

  • 教小明学一点点编程—C#篇(0)

    像小明这样使用C#的新同学,一定都会被C#的复杂的委托事件机制所困惑,那么我们不如解释一下什么是C#中委托。 委托...

  • C#委托 匿名函数 Lambda

    C# 中委托的发展#在 C# 1.0 中,通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C#...

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

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

  • C#中的Lambda表达式与委托的比较及用法

    C#中的Lambda表达式与委托的比较及用法 Lambda表达式 "Lambda表达式"是一个匿名函数,是一种高效...

  • 2020-02-19

    C# 委托 (一)—— 委托、 泛型委托与Lambda表达式 原创wnvalentin 最后发布于2018-08-...

  • C#匿名方法、Lambda表达式和各种泛型委托

    Linq查询与高级C#编程机器理论研究基础 C#委托解决的是对象之间的逆向传递问题,其次,委托还有其他的用途(匿名...

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

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

  • C#中的委托是用来干嘛的

    在C#中我们会听到一个概念——委托。那么委托是个什么鬼,用来干嘛的呢?最近有些空闲时间就写一下C#中委托相关的知识...

网友评论

      本文标题:C#委托的用法

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