zoukankan      html  css  js  c++  java
  • C#事件支持发布者/订阅者模式(观察者模式)

    C#事件支持发布者/订阅者模式,发布者将事件通知给订阅者,而订阅者在事件发生时调用已经注册好的事件处理函数。
            public delegate void delUpdate();  //委托定义,相当于一个函数签名,函数指针
            public event delUpdate ENotify;    //定义事件,该事件引发此委托类型的事件处理函数
            
            private int a = 2;
            public int A
            {
                get { return a; }
                set 
                { 
                    a = value;
                    if (ENotify != null)  //如果事件不等于空就是说有订阅者注册过该事件,比如:Publisher.getInstance().ENotify +=new Publisher.delUpdate(GetData);也就是说触发事件后有相应的事件处理函数被调用。
                    {
                        ENotify();
                    }

                }
            }

           public Observer()
            {
                Publisher.getInstance().ENotify +=new Publisher.delUpdate(GetData);
            }

            public void GetData()
            {
                oa = Publisher.getInstance().A;
                ob = Publisher.getInstance().B;
                oc = Publisher.getInstance().C;
            }

  • 相关阅读:
    Sql获取表中随机1到n条数据
    SQLite相关
    Eclipse自动生成api时报错“警告: 编码 GBK 的不可映射字符”
    Git基础命令
    Oracle查询结果行转列,列转行
    字符串编码方式转换
    Java字符串匹配正则表达式
    python爬虫--编码问题y
    GET与POST方法
    python爬虫(1)--Urllib库的基本使用
  • 原文地址:https://www.cnblogs.com/eric_ibm/p/3664503.html
Copyright © 2011-2022 走看看