zoukankan      html  css  js  c++  java
  • 如何编写属于自己的事件集合

    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)("");
    }
    }

    }
  • 相关阅读:
    CTF-域渗透--SSH服务
    CTF-域渗透--SMB信息泄露
    CTF-域渗透--FTP服务后门利用
    Codeforces Round #628 (Div. 2)
    模板
    模板
    Educational Codeforces Round 6
    Educational Codeforces Round 5
    模板
    Codeforces Round #627 (Div. 3)
  • 原文地址:https://www.cnblogs.com/magic_evan/p/2306141.html
Copyright © 2011-2022 走看看