delegate代理

C#中的代理有点类似JAVA的接口

public delegate void GetSelect(DataTable dr);//定义代理, 相当于定义接口
       
//-------------------定义类---------------------
public GetSelect MyGetSelect ; //声明代理, 相当于声明接口

private void btnOk_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)grdDetail.DataSource;
MyGetSelect(dt); //使用代理, 相当于使用接口
}


//--------------------业务类-----------------------
frm.MyGetSelect += GetDatas; //实现代理, 相当于实现接口

private void GetDatas(DataTable dt)
{
dtbill = dt;
}

猜你喜欢

转载自zheyiw.iteye.com/blog/2403891
今日推荐