C#将方法作为参数传递(用委托接收方法)

2021-03-17 23:24

阅读:527

标签:object   std   通过   ring   调用函数   back   接收   方法   and   


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

}

 技术图片

 

C#将方法作为参数传递(用委托接收方法)

标签:object   std   通过   ring   调用函数   back   接收   方法   and   

原文地址:https://www.cnblogs.com/wfy680/p/12379853.html


评论


亲,登录后才可以留言!