C#将方法作为参数传递(因委托接收方法)
1、声明委托
public delegate void DataCallBackEventHandler(string str); |
2、按照委托结构(参数和返回值)写一个回调方法
public void DataCallBackEvent(string str) { label1.Text = "委托传回的消息:" + str; } |
3、将方法作为参数进行传递
private void btnTestDelegate_Click(object sender, EventArgs e) { Form3 frm3 = new Form3(DataCallBackEvent); frm3.Show(); } |
4、构造函数中接收此方法
//声明委托用来接收方法 DataCallBackEventHandler _dataCallBackEvent; public Form3(DataCallBackEventHandler dataCallBackEvent) { InitializeComponent(); //用委托接收方法 _dataCallBackEvent = dataCallBackEvent; } |
5、调用方法
//传回字符串+时间 if (_dataCallBackEvent!=null) { _dataCallBackEvent(textBox1.Text+DateTime.Now.ToString("yyyy-dd-hh-mm.fff")); } |