C#自定义事件

来源:互联网 发布:网络连锁 编辑:程序博客网 时间:2024/05/05 19:26
    class Program    {        private int number;        private delegate void NumberChangedHandle(object sender,object args);        private event NumberChangedHandle ChangeNumber;        public Program()        {            number = 0;            ChangeNumber += new NumberChangedHandle(OnChangeNumber);        }        public void SetNumber(int value)        {            if (number != value)            {                Console.WriteLine("SetNumber=>正在将" + number + "更改为" + value);                number = value;                if (ChangeNumber != null) ChangeNumber(this, new List<int>() { number,value });//通知事件处理者  ,并发送事件信息            }        }        public void OnChangeNumber(object sender,object args)        {            Console.WriteLine("Tip=>检测到值已经改变,事件源:" + sender.ToString() + " 参数[0]:" + ((List<int>)args)[0]);//强制转换取出参数列表        }              static void Main(string[] args)        {            var p = new Program();            p.SetNumber(5);            p.SetNumber(15);                  } 

0 0