C#事件

事件

  定义:访问修饰符(可有/可无) event 委托名称 事件名称;

事件需要提前有委托的存在,事件需与特定的委托相连

在使用事件时,我们要明确两个词(发布者,订阅者),发布者即定义事件的那个类,订阅者即实现方法的那个类

类A为一个发布者类,Run类是一个实际的类(包含要运行的方法),

 

namespace 事件
{
    class Program
    {
        static void Main(string[] args)
        {
            Run r = new Run();
            A a = new A();
            a.eventA += new A.delA(r.R);
            a.Method();
            Console.ReadKey();
        }
    }
    class A
    {
        //委托A
        public delegate void delA();
        //事件A
        public event delA eventA;
        //调用事件的方法
        public void Method()
        {
            //一般会加!=null  来确保事件没有被调用
            if (eventA!=null)
            {
                eventA();
            }
        }
    }
    class Run
    {
        public void R()
        {
            Console.WriteLine("成功了");
        }
    }
}

 

posted @ 2019-03-20 16:42  anewday  阅读(279)  评论(0编辑  收藏  举报