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

    }
  • 相关阅读:
    【3006】统计数字
    【5001】n皇后问题
    【7001】n阶法雷序列
    【9402】倒序数
    【9705】&&【a801】细胞
    【9802】闭合曲线面积
    【a803】营救
    【9112】求2的n次方的精确值
    V8引擎实现标准ECMA-262(三)
    仔细看看Javascript中的逻辑与(&&)和逻辑或(||)
  • 原文地址:https://www.cnblogs.com/magic_evan/p/2306141.html
Copyright © 2011-2022 走看看