什么是委托
委托就是一种数据类型,是引用类型,其实就是一个类
既然是一种数据类型,就可以被申明,赋值,和作为参数传递
那他是怎样一种数据类型呢
他就是用来存储方法的数据类型
当然我们需要传递一个方法时,可用到委托,非常方便
例子1
public delegate void Getdelegate();//申明委托
public class Class1
{
public Getdelegate g; //这个时候定义一个委托变量
public void W()
{
if (g != null)
{
g();
}
}
}
static void Main(string[] args)
{
Class1 c1 = new Class1();
c1.g = M1;
c1.W();
c1.g = M2;
c1.W();
Console.ReadKey();
}
static void M1()
{
Console.WriteLine("M1方法");
}
static void M2()
{
Console.WriteLine("M2方法");
}
委托是变量,所以上面的语法也支持
c1.g+=M1;
c1.g+=M2;