c#实现消息订阅发布示例代码

代码语言:c#

所属分类:其他

代码描述:c#实现消息订阅发布示例代码,使用System.Threading.Tasks实现

代码标签: c# 消息 订阅 发布 示例 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

using System;

using System.Threading.Tasks;

namespace HelloWorldApplication
{

    // 定义一个事件类,用于传递消息
    public class MessageEventArgs: EventArgs
    {
        public string Message {
            get; set;
        }
    }

    // 定义一个发布者类
    public class Publisher
    {
        // 声明一个事件
        public event EventHandler < MessageEventArgs > MessagePublished;

        // 发布消息的方法
        public void PublishMessage(string message) {
            // 创建一个事件参数对象
            var args = new MessageEventArgs {
                Message = message
            };

            // 触发事件,通知所有订阅者
            MessagePublished?.Invoke(this, args);
        }
    }

    // 定义一个订阅者类
    public class Subscriber
    {
        // 标识
        private int _key;
        // 订阅消息的方法
        public void Subscribe(Publisher publisher, int key) {
            // 订阅事件
            publisher.MessagePublished += HandleMessage;

            _key = key;
        }

        // 处理消息的方法
        private void HandleMessage(object sender, MessageEventArgs e) {
            Console.WriteLine($"topic .........完整代码请登录后点击上方下载按钮下载查看

网友评论0