C# 委托和事件
委托简介 委托是一种数据类型,像类一样的数据类型,一般直接在命名空间中定义 定义委托时,使用关键字delegate,需要指定返回值类型、委托名称、参数列表 委托的使用 声明委托变量并赋值 委托是一个引用类型,可以为null,所以使用时候尽量先做非空验证 委托类型的变量只能赋值一个委托类型的对象(方法) 委托应用范围 在程序中,有一段代码需要根据引用者不同而做出不同的判断,有时候我们会用 if 判断做这个需求,但是 if 判断是需要知道值的范围才能做出判断,万一要是都不知道调用者会穿什么值进来怎么办,这时候就可以使用委托,让调用者自己决定这段代码写什么,怎么写 实际应用 定义委托 // 定义一个无参数无返回值的委托 delegate void MyDelegate(); // 定义一个有参数无返回值的委托 delegate void MyDelegate1(string msg); // 定义一个无参数有返回值的委托 delegate string MyDelegate2(); // 定义一个有参数有返回值的委托 delegate string MyDelegate3(string msg); 定义委托 // 定义无参数无返回值的委托变量 将一个无参数无返回值的方法赋值给委托 MyDelegate m1 = new MyDelegate(Method); //