当前位置: 首页 > news >正文

微信公众平台二次开发安卓优化大师app下载安装

微信公众平台二次开发,安卓优化大师app下载安装,整形网站模板,什么是电子商务网站建设与管理文章目录 前言模拟消息订阅发布使用注意事项 前言 我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是Mqtt这种消息订阅发布。但是我只想程序内部进行消息订阅发布,进行程序的解耦。那没办法了,只能自己上了 模拟消息…

文章目录

  • 前言
  • 模拟消息订阅发布
    • 使用
    • 注意事项

前言

我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是Mqtt这种消息订阅发布。但是我只想程序内部进行消息订阅发布,进行程序的解耦。那没办法了,只能自己上了

模拟消息订阅发布

在Utils 的MessageHelper
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace NetCore.Utils
{public class MessageHelper{public static List<Message> Messages = new List<Message>();/// <summary>/// 消息订阅/// </summary>public static void Subscribe(string topic, string key, Action<object> action){var model = Messages.Where(item => item.Topic == topic && item.Key == key).FirstOrDefault();if (model == null){model = new Message(){Topic = topic,Key = key,};Messages.Add(model);model.Actions.Add(action);}else if(model.Actions.Find(item => item.Equals(action)) == null){model.Actions.Add(action);}}/// <summary>/// 消息推送/// </summary>public static void Publish(string topic, string key, object value){var model = Messages.Where(item => item.Topic == topic && item.Key == key).FirstOrDefault();if (model != null){model.Actions.ForEach(item =>{item(value);});}}}public class Message{public string Topic { get; set; }public string Key { get; set; }public List<Action<object>> Actions { get; set; } = new List<Action<object>>();}}

使用

static void Main(string[] args)
{MessageHelper.Subscribe("Topic1", "key1", (res) =>{var _res = ((string Name, int Age))res;Console.WriteLine(_res.ToString());Console.WriteLine("我被调用了1");});MessageHelper.Subscribe("Topic2", "key1", (res) =>{Console.WriteLine("我被调用了2");});MessageHelper.Subscribe("Topic3", "key1", (res) =>{Console.WriteLine("我被调用了3");});MessageHelper.Subscribe("Topic4", "key1", (res) =>{Console.WriteLine("我被调用了4");});MessageHelper.Publish("Topic1","key1",(Name:"嘟嘟",Sex:"12"));Console.ReadLine();}

注意事项

这里我用了元祖来进行临时变量的传值。元祖如何使用请看我的另一篇文章。元祖用来做临时变量特别好用

C# 元祖,最佳的临时变量。

为了防止重复注入,我加了判断代码。

http://www.dt0577.cn/news/29060.html

相关文章:

  • 云南网站建设优化企业整合营销传播方法包括
  • 网站怎么谈设计长沙网站seo优化排名
  • 做购彩网站是怎么盈利的南京网站seo
  • 本溪 网站建设 做网站怎么免费建立网站
  • 怎样给网站做优化郑州网站建设哪家好
  • 温州市网站制作深圳创新创业大赛
  • 西山网站建设青岛seo服务哪家好
  • 有什么办法做自己的网站百度点击器下载
  • 北京高端购物商场赣州seo
  • 网络公司网站做的不错的南昌seo排名收费
  • 收费网站素材搜易网优化的效果如何
  • 高端品牌网站建设服务成都百度推广优化创意
  • 黑色风格网站主页面世界足球排名
  • 网站开发常用颜色百度指数网址是什么
  • 网站怎么建设以及维护如何免费做网站推广的
  • 网站空间续费后网页不能打开seo基础知识培训
  • 做网站什么样的域名好搜索电影免费观看播放
  • 自己做网站需要学什么软件下载360优化大师软件
  • wordpress前端用户网址点击seo软件
  • 做外链的网站营销策划
  • 中组部 两学一做网站适合30岁女人的培训班
  • wordpress更新php西安网站seo排名优化
  • 科技设计网站建设app数据分析软件
  • 网站空间域名维护协议宝鸡百度seo
  • 克隆的网站怎么做数据库百度账号注册中心
  • 北京网络建站市场调研怎么写
  • 网站规划教学设计网络营销怎么做
  • 做办公设备网站建站系统
  • wordpress自带图片大小广州百度首页优化
  • 个人做营利性质网站会怎么样中山网站seo优化