委托和事件

委托和事件
        #region 委托和事件
        static void Main( string [] args)
        {
            ToolMan toolMan = new ToolMan( "罗娴" ); //工具人
            LazyMan lazyMan1 = new LazyMan( "张三" ); //懒人
            LazyMan lazyMan2 = new LazyMan( "李四" ); //懒人
            LazyMan lazyMan3 = new LazyMan( "王五" ); //懒人
            //多播委托
            toolMan.DownStairD += lazyMan1.TakeFood; //在下楼委托里加上张三拿外卖方法
            toolMan.DownStairD += lazyMan2.TakePackage; //在下楼委托里加上李四拿快递方法
            toolMan.DownStairD += lazyMan3.TakeFood; //在下楼委托里加上王五拿外卖方法
            toolMan.DownStair(); //运行委托
        }
        internal class LazyMan //懒人类
        {
            public string name; //懒人姓名
            public LazyMan ( string name) //生成构造函数
            {
                this .name = name;
            }
            public void TakeFood() //懒人拿外卖方法
            {
                Console.WriteLine( $"给 {name} 拿外卖" );
            }
            public void TakePackage() //懒人拿快递方法
            {
                Console.WriteLine( $"给 {name} 拿快递" );
            }
        }
        public delegate void DownStairD (); //创建一个下楼委托
        internal class ToolMan //工具人类
        {
            public string name; //工具人姓名
            public ToolMan ( string name) //生成构造函数
            {
                this .name = name;
            }
            public event DownStairD DownStairD = null ; //声明下楼委托    在其中加入event事件  调用时不允许使用==只能+=或-=
            public void DownStair() //工具人下楼方法
            {
                Console.WriteLine( $"工具人 {name} 下楼了" );
                if (DownStairD != null ) DownStairD(); //下楼委托不为空的时候 调用下楼委托
            }
        }
        #endregion
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值