码迷,mamicode.com
首页 > Web开发 > 详细

.net委托链

时间:2019-03-13 12:38:59      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:rgs   ali   send   button   gate   ext   click   net   一个   

委托链可以增加方法,可以移除方法,如果是无返回值的方法,我们把它们都绑定到一个委托上面的话,直接调用,那么调用此委托就会依次调用其中的方法;但是如果是多个有返回值的委托链,如果我们不采用特殊手段,直接调用的话,会返回最后一个方法的值,那么我们只能通过下面的方法来实现了,下面方法的本质也是一个个的调用其中的方法,使用GetInvocationList()来获取多播中的单独委托然后一个一个的执行然后我们可以把值存放到一个数组或者list泛型中去。具体代码如下

private MyDelegate myDelegate;
public Form2()
{
InitializeComponent();
}
public Form2(string str, MyDelegate myDelegate)
: this()
{
this.label1.Text = str;
this.myDelegate = myDelegate;
}

private void button1_Click(object sender, System.EventArgs e)
{
myDelegate(textBox1.Text);//此处调用委托
}

 

.net委托链

标签:rgs   ali   send   button   gate   ext   click   net   一个   

原文地址:https://www.cnblogs.com/dujian123/p/10522155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!