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"));   //通过委托变量调用函数

}

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM