在.NET Framework中,委托是一种数据结构,它引用静态方法或者引用类实例该类的实例方法。
委托是委托类型的实例。只有当方法的签名与委托类型所指定的签名完全匹配时,委托才能引用方法。当委托引用实例方法时,委托储存对该方法入口点的引用及对称为目标的对象的引用,该对象是对其待用该方法的类的实例。实例方法的目标不能为空引用。当委托引用静态方法时,委托储存对该方法入口点的引用。静态方法的目标为空引用。
声明委托方法如下
public delegate void ProcessBookDelegate(book book);
声明一个新的委托类型时,每个委托类型都描述参数的数目和类型,以及它可以封装的方法的返回值类型。每当需要一组新的参数类型或新的返回值类型时,都必须声明一个新的委托类型。
实例化委托即在声明了委托类型后,必须创建委托对象并使之与特定方法关联。与所有其它对象类似,新的委托对象用NEW表达式创建,一旦创建了委托,它所关联到的方法便永不改变。
调用委托即在委托对象后,通常将委托对象传输给讲调用该委托的其他代码。通过委托对象的名称(后面跟着要传递给委托的参数,扩在括号内)调用委托对象。
下面有一个例子:
首先声明一个DelegateFeedBack类



















































在页面中首先定义一个委托DelegatePring,携带一个整形参数

接着在Page_Load里调用委托











点此下载源代码