事件Event

事件就是委托的实例加上event关键字

提供的内置事件EventHandler 

可以多个方法放到一个事件中或者一个委托中  执行事件或委托  执行里面的所有方法 

事件或者委托.Invoke() 执行事件或方法

事件只有当前类中能invoke  子类都不可以Invoke

  

委托可以实例化   不同实例增加不同方法     事件就是一个实例

    //定义一个有一个输入参数,无返回值的委托
    public delegate void MyHandler(string name);
    public class MyEvent
    {
        //定义一个返回值为MyHandler委托的事件
        public event MyHandler ClickEvent;

        public void ExcuteEvent(string a)
        {
            ClickEvent(a);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            MyEvent myEvent = new MyEvent();
            //这个事件返回值为MyHandler委托  这个委托接收一个参数 无返回值的方法
            myEvent.ClickEvent += (t) => { Console.WriteLine(); };
            myEvent.ClickEvent += Show2 ;
        }


        public static void Show2(string name)
        {
            Console.WriteLine(name);
        }
    }
原文地址:https://www.cnblogs.com/jiangchengbiao/p/9979074.html