关于委托的基础知识

Delegate
1、想象成C++中的函数指针,不同点在于Delegate完全面向对象,既封装了方法又封装了对象。
可以看成是方法的接口
2、定义委托其实是定义一个类型的委托,而不是一个具体的实例。
3、委托类型指定他方法的返回类型和参数表
4、它代表具有相同参数列表和返回类型的任何方法。
5、委托的声明:
访问修饰符 delegate 返回值类型 委托名(参数表)
6、创建实例     MyDelegate md=new MyDelegate(MyObject.MyMethod)
                                 此方法必须和代理时声明的返回类型和参数列表相同
7、调用
public delegate int MyDelegate(int i)
public class UseDelegate
{
    public int CallDelegate(int i,MyDelegate md)
        {
            return md(i);
        }
}
8、把委托的单个实例合并成一个多播委托,委托必须是同类型的,返回类型必须是void,不能带输出参数,可以带引用参数。

posted on 2006-02-16 19:33  小峰子  阅读(180)  评论(0编辑  收藏  举报

导航