zoukankan      html  css  js  c++  java
  • 委托与事件例子

    代码
    /* ***********************************************
     * 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();
            }
        }

    }


  • 相关阅读:
    【noi 2.5_1789】算24(dfs)
    【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
    【bzoj 1190】梦幻岛宝珠(DP)
    【bzoj 3333】排队计划(线段树)
    【noi 2.5_7834】分成互质组(dfs)
    【noi 2.5_1792】迷宫(bfs 或 dfs)
    【noi 2.2_7891】一元三次方程求解(二分枚举+输出程序运行时间)
    JFrame包含的容器(JRootPane)
    JFrame背景色设置
    java自动装箱的一个例子
  • 原文地址:https://www.cnblogs.com/u_xiaomo/p/1654900.html
Copyright © 2011-2022 走看看