• 如何编写属于自己的事件集合


    public class MyEvent
    {
    /// <summary>
    /// 定义某一类事件的名称
    /// </summary>
    private const string EventName = "MyEvent";
    /// <summary>
    /// 定义某一类事件的名称
    /// </summary>
    private const string EventName1 = "MyEvent1";
    /// <summary>
    /// 事件集合
    /// </summary>
    private readonly Dictionary<string, List<object>> EventDic = new Dictionary<string, List<object>>();

    /// <summary>
    /// 定义事件代理句柄
    /// </summary>
    /// <param name="obj"></param>
    public delegate void MyHandler(object obj);
    /// <summary>
    /// 定义事件代理句柄
    /// </summary>
    /// <param name="obj"></param>
    public delegate void MyHandler1(string obj);

    public event MyHandler MyEvents
    {
    add
    {
    EventDic[EventName].Add(value);
    }
    remove
    {
    EventDic[EventName].Remove(value);
    }
    }
    public event MyHandler1 MyEvents1
    {
    add
    {
    EventDic[EventName1].Add(value);
    }
    remove
    {
    EventDic[EventName1].Remove(value);
    }
    }

    public MyEvent()
    {
    EventDic.Add(EventName, new List<object>());//添加一类事件集合
    EventDic.Add(EventName1, new List<object>());//添加一类事件集合
    }

    public void Run()
    {
    if (EventDic[EventName].Count == 0)
    return;
    foreach (object obj in EventDic[EventName])
    {
    (obj as MyHandler)(1);
    }
    }
    public void Run1()
    {
    if (EventDic[EventName1].Count == 0)
    return;
    foreach (object obj in EventDic[EventName1])
    {
    (obj as MyHandler1)("");
    }
    }

    }
  • 相关阅读:
    安装和使用git遇到的问题总结
    继承时,构造函数和析构函数的调用顺序
    c++文件的读写
    虚函数
    纯虚函数
    继承
    连接到github
    NDK无法包含std的头文件(string,list等)的解决方法
    Centos7.3安装maven并配置加速镜像源
    分享几个实用好看的WordPress主题(第二波)
  • 原文地址:https://www.cnblogs.com/magic_evan/p/2306141.html
Copyright © 2020-2023  润新知