wudi

博客园 首页 新随笔 联系 订阅 管理

看了前人的书,自己的理解,呵呵!

delegate就是定义一个接口,然后有某一个具体的方法实现了这个接口,实力化一个委托,把方法当作参数,委托就会调用这个方法.
 也就是说我们定义的委托代表方法的返回值类型和参数类型,在实例化该委托时传入方法名称,这样该委托的实例就可以表示相应的方法了。
委托声明了以后,就可以象类一样进行实例化,实例化时把要引用的方法(如:Add)做为参数,这样委托和方法就关联了起来,就可以用委托来引用方法了。
委托和所引用的方法必须保持一致:参数个数、类型、顺序必须完全一致;返回值必须一致。

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class delgate : System.Web.UI.Page
{
    public delegate void MyDelegate(int a,int b);//定义一个委托(接口)
    protected void Page_Load(object sender, EventArgs e)
    {
        MyDelegate dl = new MyDelegate(AddNum);//实力化委托,把实现委托接口的方法当作参数传递,dl就会调用这个方法.
        dl(1, 3);
    }

    public void AddNum(int a, int b)
    {
        Response.Write(a + b);
    }
}

posted on 2008-04-11 13:30  菜鸟吴迪  阅读(459)  评论(0编辑  收藏  举报