ok,可以持有多个对象的多个方法。
给委托对象赋值
class Dog{
public void WagTail(){...}
}
actCute = dog.WagTail;
delegate void ActCute();
委托:持有一个或者多个方法的对象,并且对象可以执行,可以传递
委托的笔记
委托:是一个持有一个或者多个方法的对象,该对象可以执行,可以传递
委托 委托部分需要再看
不止上例形式
什么是委托
给委托对象赋值
定义委托类型的对象
声明委托类型
什么是委托
委托与继承相似,都是复用代码,继承是类级别的复用,委托是方法级别的复用。
委托声明方式
delegate 返回值类型 方法名();
可以保存一些列方法;
调用方式从声明中的变量获得,例如del();
delegate
委托:持有一个或者多个方法的对象,并且该对象可以执行,可以传递。
声明委托类型 delegate void ActCute();//委托类型是一种引用类型
定义委托类型的对象 ActCute actCute;
给委托对象赋值
class Dog
{
public void WagTail(){...}
}
actCute = dog.WagTail;
使用委托类型 actCute();//像调用函数一样使用委托类型
class Program
{
//声明委托
delegate void Actcute();
static void Main(string[] args)
{
Actcute del = null;
Dog dog1 = new Dog("A");
Cat cat1 = new Cat("B");
del = dog1.WagTall;
del += cat1.innocentLook;
del();
}
}
class Dog
{
public void Method()
{
}
}
class Cat
{
public void Method()
{
}
}
{
delegate void ActCute();
Main()
{
ActCute del=null;
del = dog.Method;//注意没有括号
del += cat.Method;//注意没有括号
del();
}
}
委托:持有一个或者多个方法的对象,并且该对象可以执行,可以传递。
声明委托类型 delegate void ActCute();//委托类型是一种引用类型
定义委托类型的对象 ActCute actCute;
给委托对象赋值
class Dog
{
public void WagTail(){...}
}
actCute = dog.WagTail;
使用委托类型 actCute();//像调用函数一样使用委托类型
委托:就是持有一个或者多个方法的对象!并且该对象可以执行,可以传递。
可以声明,它是一种引用类型。
delegate void ActCute();
既然是中类型,就可以定义该类型的对象。
ActCute actCute;
给委托对象赋值
声明委托类型
委托是持有一个或者多个方法的对象!并且该对象可以执行,可以传递。
可以安全的调用其他对象的方法
定义委托 delegate void ActCute();
声明委托 ActCute del = null;
Dog dog = new Dog("A");
调用委托 del = dog.摇尾巴;
del+ = dog.汪汪叫;
del();