而後,我們同樣構建一個上層的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);
}
}
}
需要大家留心的地方我已經用紅筆標明了:
1> 首先Form1類不但要繼承自Form類,同時還必須繼承InfceCalbckEvCtrl.UserControl1控件類中的ICallbackEvn接口——這就是所謂的繼承關系的限制。
2> 同時也只能是利用接口來默認掛載本類中被命名為void ShowObjTxt(string Txt)的方法,如果大家仍然想為目標接口掛載另外一個方法(當然這個方法不能再以void ShowObjTxt(string Txt)來命名了)來實現其他的功能,那麼對不起,請您重新定義原有的接口好了——這就是所謂方法同名的限制(其實這裡的限制不單單只有同名,還包括了同方法數量的限制)。
同時,我稍稍查閱其它網友有關回調所貼的一些帖子,個人感覺使用委托的人數比使用接口來完成回調的人數要多。
以上是我的觀點,歡迎大家給予批評指針,也請大家盡量發表自己的看法,謝謝。呵呵……