1. 程式人生 > >委託與事件聯合使用

委託與事件聯合使用

1、建立委託

        /// <summary>
        /// 顧客走進飯店
        /// 把選單給顧客
        /// </summary>
        /// <param name="cusobj">顧客</param>
        public delegate void ComeHotelEventHandler(Customer cusobj);

2、建立委託事件

        /// 顧客進門事件
        /// </summary>
        public event ComeHotelEventHandler CustomerComeEvent;

3、建立事件呼叫方法

        public void RunCustomerCome(Customer customer)
        {
            CustomerComeEvent(customer);
        }

4、例項化委託事件

            //服務員訂閱事件
            Waiter waiter = new EatFootDemo.Waiter();//服務員
            waiter.CustomerComeEvent += new Waiter.ComeHotelEventHandler(CustomerComeHotel);

5、實現委託方法

        /// <summary>
        /// 客戶進入飯店
        /// </summary>
        /// <param name="customer"></param>
        static void CustomerComeHotel(Customer customer)
        {
            Console.WriteLine("歡迎,請問有啥需要?");

            Console.WriteLine("給客戶選單");
        }

6、執行事件呼叫方法

            //開始步驟
            waiter.RunCustomerCome(custom);

其中前3個寫在一起,後3個 在用的時候再新增

示例程式地址:https://download.csdn.net/download/xunbaogang/10730193