• 委托与事件例子


    代码
    /* ***********************************************
     * Author        :  lixiaomo
     * Email        :  lixiaomo1989@gmail.com
     * Description    :  妈妈睡觉,猫捉老鼠碰到花瓶,吵醒妈妈。
     * **********************************************
    */
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace MyConsole
    {
        
    public class Master
        {
            
    //定义委托,它定义了可以代表的方法类型
            public delegate void BoilHandler(int iCount);
            
    public event BoilHandler wakeEvent;//声明事件

            
    //主人在睡觉
            public void Sleep(int param)
            {
                Console.WriteLine(
    "Alarm: 忽忽、嘘嘘zzzz 我睡{0}次",param);
            }
            
    //猫捕捉老鼠
            public void Osnap()
            {
                
    for (int i = 0; i < 5; i++)
                {
                    
    if (i != 0)//是否捕捉到老鼠
                    {
                        Console.WriteLine(
    "Action:捕捉到" + i + "只老鼠!");
                        
    if (wakeEvent != null)
                        {
                            wakeEvent(i);
                        }
                    }
                }
            }
            
    //主人被吵醒
            public void wakeing(int param)
            {
                Console.WriteLine(
    "吵醒我{0}次,主人被吵醒!",param);
            }
        }
        
    class Actions
        {
            
    static void Main(string[] args)
            {
                Master master 
    = new Master();
                master.wakeEvent 
    += master.Sleep;
                master.wakeEvent 
    += master.wakeing;

                master.Osnap();
                Console.ReadKey();
            }
        }

    }


  • 相关阅读:
    跨域和表单重复
    Socket
    Redis(基本数据类型和使用Java操作Redis)
    初识Git
    SpringCloud一(eureka)
    SpringBoot3(springboot_jdbctemplate以及MyBatis和Dubbo整合)
    SpringBoot2(thymeleaf模板jsp页面和jpa)
    SpringBoot
    SpringBoot小型进销存系统
    MyBatis与SpringBoot整合案例
  • 原文地址:https://www.cnblogs.com/u_xiaomo/p/1654900.html
Copyright © 2020-2023  润新知