有关委托

来源:互联网 发布:java自学可以吗 编辑:程序博客网 时间:2024/06/07 23:35

委托相当于函数指针,将函数的名称当参数使用

例如一个分页控件中,声明一个和gv的绑定函数相同签名的委托

public delegate void BindDataDelegate();//事件委托

声明一个该类型的变量,作为函数的私有变量

private BindDataDelegate BindData;

在 初始话准备的时候将绑定gv的函数作为参数传递进来,并传给该私有变量

     public void SetTarget(GridView agv, BindDataDelegate NewBind, int iPageSize)
        {
            _gv = agv;
            //pageNum = iPageSize;
            BindData = new BindDataDelegate(NewBind);

。。。。。

//对分页控件的按钮增加动作,和gv的属性如pagesize进行设置

}

 

在按钮事件中处理完按钮事件后重新绑定gv:调用绑定实例BindData

private void NavigationButton_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        {

处理按钮事件

BindData();

 

这样的好处是:在使用该控件时绑定gv的方法名字可以任意,只要使用页面在调用SetTarget方法时,绑定gv的方法名传入即可。

 

使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法

原创粉丝点击