zoukankan      html  css  js  c++  java
  • c#的事件机制示例代码: 猫> 老鼠, 主人

    using System;

    namespace EventDemo
    {


        
    public delegate void CatBrayEventHandle(int score);


        
    public class sleeping
        
    {
            
    public event CatBrayEventHandle CatShout;

            
    int theScore;

            
    public int Score
            
    {
                
    get {return theScore;}
                
    set
                
    {
                    
    if(theScore != value)
                    
    {
                        CatShout(value);
                    }

                }

            }

        }





        
    public class MouseRun
        
    {
            
    public MouseRun(sleeping slp)
            
    {
                slp.CatShout 
    += new CatBrayEventHandle(slp_CatShout);
            }


            
    private void slp_CatShout(int score)
            
    {
                
    if(score > 100)
                    Console.WriteLine(
    "老鼠: 有猫!快逃啊..");
                
    else
                    Console.WriteLine(
    "老鼠: 猫虽然叫了, 声音不够大, 赫赫, 老鼠没听见!");
            }

        }



        
    public class Master
        
    {
            
    public Master(sleeping sleep)
            
    {
                sleep.CatShout 
    += new CatBrayEventHandle(sleep_CatShout);
            }


            
    private void sleep_CatShout(int score)
            
    {
                
    if(score > 100)
                    Console.WriteLine(
    "主人: 猫叫了!");
                
    else
                    Console.WriteLine(
    "主人: 猫虽然叫了, 声音不够大, 主人没听见!");
            }

        }





        
    /// <summary>
        
    /// Class1 的摘要说明。
        
    /// </summary>

        class Class1
        
    {
            
    /// <summary>
            
    /// 应用程序的主入口点。
            
    /// </summary>

            [STAThread]
            
    static void Main(string[] args)
            
    {
                sleeping slping 
    = new sleeping();

                MouseRun mr 
    = new MouseRun(slping);
                Master ms 
    = new Master(slping);

                
    //slping.Score = 66;
                slping.Score = 123;


            }

        }

    }

  • 相关阅读:
    python数据分析与展示
    人生苦短,我学python。
    数学
    解决git for windows 和 vim for windows 的 vim 显示中文乱码的问题
    解决win7连接IPsec报错789和809错误
    python安装pandas库
    vim配置文件
    0x03-数据和C
    Ubutun安装问题记录
    Django-rest-framework --- 三大认证
  • 原文地址:https://www.cnblogs.com/silva/p/370565.html
Copyright © 2011-2022 走看看