委托与事件联合使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xunbaogang/article/details/83150597

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

猜你喜欢

转载自blog.csdn.net/xunbaogang/article/details/83150597