委托就是新建一个方法的模板,然后调用的时候创建在把和他模板样式一样的方法名传进去,调用的时候直接:委托名(参数,参数)。这样做的好处是我不用太多的去关心方法名,只需要用委托写业务,方便回调。
using System;
namespace Demo3
{
class Program
{
static void Main(string[] args)
{
/*
* 使用委托:委托的作用其实就是定义一个模型,然后再某个时刻可以使用这个模型,使用的对象就传个定义的参数类型,
* 返回值类型等一致就可以调用,一个委托可以调用所有和他模型一样的方法,前提是需要把这个方法名传给此模型新建
* 的对象中。
* 调用方式:就像demo一样,直接委托名相当于方法名,参数正常填写即可。
* 下面的demo(111,32324)相当于ssss(111,32324)
*/
//DelegateDemo01 demo = new DelegateDemo01(ssss);//方式一
DelegateDemo01 demo = ssss;//方式二
demo += bbbbb;//这样子会调用两个方法,如果还想调用就不停的加就玩了,很牛叉也很二逼的一个功能。
demo(111,32324);
}
static void ssss(int aaa, int bbbb) {
Console.WriteLine("我是一个正常的方法,但是被委托给调用了传进来的值:{0},{1}", aaa, bbbb);
}
static void bbbbb(int aaa, int bbbb) {
Console.WriteLine("我是一个正常的方法,但是被委托给调用了传进来的值:{0},{1}", aaa, bbbb);
}
}
/// <summary>
/// 定义一个委托
/// </summary>
/// <param name="a">参数a</param>
/// <param name="b">参数b</param>
public delegate void DelegateDemo01(int a, int b);
}