5.委托和事件

委托是一个类,定义了方法的类型,可以将方法当做另一个方法的参数进行传递。

        public delegate void NoReturn(int a);
        public static void Func(int a)
        {

        }
        public void Show()
        {
            //委托的实例化 要求一个参数类型、返回值都跟委托一致的方法
            NoReturn method = new NoReturn(Func);

            var a = 1;
            //委托实例的调用,参数和委托约束一致
            method.Invoke(a);
            method(a);
        }

事件是一种特殊的委托,是带event关键字的委托的实例,event可以限制变量被外部调用/直接赋值(子类继承父类也不能调用)

原文地址:https://www.cnblogs.com/bjhblogs/p/12731287.html