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;


            }

        }

    }

  • 相关阅读:
    NaN数值类型
    模板字符串
    一文带你速懂虚拟化KVM和XEN
    CentOS 8配置本地yum源及DNF简介
    fxksmdb.exe 是什么进程?
    入行IT,一定要会Linux吗?
    干货|Linux平台搭建网关服务器
    忘带U盘了??别急!一行python代码即可搞定文件传输
    手把手教你如何搭建一个私有云盘
    误删重要文件怎么办?学会Linux 救援模式再也不担心
  • 原文地址:https://www.cnblogs.com/silva/p/370565.html
Copyright © 2011-2022 走看看