using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; namespace 回調 { class Program { static void Main(string[] args) { /*接口回調*/ Controller cl = new Controller(new CallBack()); cl.Begin(); Console.ReadKey(); } class CallBack:ICallBack { public void Run() { Console.WriteLine(DateTime.Now.ToString()); } } #region 接口回調 class Controller { //ICallBack藉口定義一個Run方法,全部」回調對象「都必須實現此接口, private ICallBack CallBackObject = null;//引用回調對象 public Controller(ICallBack obj) { this.CallBackObject = obj; } public void Begin() { Console.WriteLine("敲任意鍵顯示當前時間,按ESC鍵退出"); while (Console.ReadKey(true).Key != ConsoleKey.Escape) { CallBackObject.Run();//調用回調對象的方法 } } } #endregion } }