回調

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
       
    }
}
相關文章
相關標籤/搜索