Delegate.Combine

今天看到了Delegate.Combine靜態方法,就隨手測試了下。

本以爲只要是參數和返回類型相同的 就可以了,如下所示

Delegate d3 = Delegate.Combine(newtext1(method1), newtext2(method2));

結果報錯, “委託必須具有相同的類型。”

將兩個參數都改爲text1後運行正常,

public delegate void text1();

public delegate void text2();

public void method1() { MessageBox.Show("m1"); }

public void method2() { MessageBox.Show("m2"); }

private void button2_Click(object sender, EventArgs e)

{Delegate d3 = Delegate.Combine(new text1(method1), new text1(method2));

this.Invoke(d3);

 }

相當於事件的+=方法。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章