C# 对于标志位监听事件的 写法

来源:互联网 发布:高级软件项目经理证书 编辑:程序博客网 时间:2024/06/06 19:54
定义属性标志位FLAG  当FLAG值发生改变时 根据相应的值执行相应的代码
        public delegate void SetTextHandler(int textid, string strInfo);        //定义一个委托        private delegate void MyFlagChanged(object sender, EventArgs e);        //定义一个委托关联的事件        private event MyFlagChanged onFlagChanged;        //设置属性标志位  监听GPS打开与关闭        private static int closeFlag;        public int m_Flag        {            get { return m_Flag; }            set            {                //如果值改变                                if (value != m_Flag)                {                    m_Flag = value;                    WhenFlagChange();                                    }            }        }
onFlagChanged += new MyFlagChanged(DoEvent_BeforeFlagChanged);//注册事件
        //Flag属性被修改事件 触发函数        protected virtual void WhenFlagChange()        {            EventArgs e = new EventArgs();            if (onFlagChanged != null)            {                onFlagChanged(this, e);            }        }        //事件处理函数,Flag改变后 根据Flag值进行相应操作        private void DoEvent_BeforeFlagChanged(Object sender, EventArgs e)        {            if (m_Flag == 0)            {                //Flag ==0时执行            }            else            {               // Flag!=0时 执行            }        }

原创粉丝点击