而後,我們同樣構建一個上層的 Demo 程式來呼叫它:
namespace InCallDemo
{
public partial class Form1 : Form, InfceCalbckEvCtrl.UserControl1.ICallbackEvn
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 介面物件實例化
userControl11.ObjCallEvn = new Form1();
}
public void ShowObjTxt(string Txt)
{
MessageBox.Show(Txt);
}
}
}
需要大家留心的地方我已經用紅筆標明了:
Form1 類別不但要繼承自 Form 類別,同時還必須繼承 InfceCalbckEvCtrl.UserControl1 控制項類別中的 ICallbackEvn 介面——這就是所謂的繼承關係的限制。void ShowObjTxt(string Txt) 的方法,如果大家仍然想為目標介面掛載另外一個方法(當然這個方法不能再以 void ShowObjTxt(string Txt) 來命名了)來實現其他的功能,那麼對不起,請您重新定義原有的介面好了——這就是所謂方法同名的限制(其實這裡的限制不單單只有同名,還包括了同方法數量的限制)。同時,我稍稍查閱其它網友有關回呼所貼的一些貼文,個人感覺使用委派的人數比使用介面來完成回呼的人數要多。
以上是我的觀點,歡迎大家給予批評指針,也請大家盡量發表自己的看法,謝謝。呵呵……