zoukankan      html  css  js  c++  java
  • Net中事件的高级用法之三

    1.事件的高级应用

    使用事件可以解除代码耦合

    2.事件高级应用实例

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        public delegate void MiaoEventDelegate();
        public class Cat
        {
            public event MiaoEventDelegate MiaoEventHandler;
            public void Miao()
            {
                Console.WriteLine("猫,苗一声");
                Mouse.Run();
                Dog.Wang();
                Neighbor.Awake();
                Stealer.Hide();
                Baby.Dry();
            }
            public void MiaoEvent(){
                Console.WriteLine("**************MiaoEvent*****************");
                Console.WriteLine("另外一只猫,喵一声");
                if (MiaoEventHandler !=null)
                {
                    MiaoEventHandler();
                }
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        public class Baby
        {
            public static void Dry()
            {
                Console.WriteLine("小孩子哭");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        public class Dog
        {
            public static void Wang()
            {
                Console.WriteLine("狗叫");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        public class Mouse
        {
            public static void Run()
            {
                Console.WriteLine("老鼠跑");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        public class Neighbor
        {
            public static void Awake()
            {
                Console.WriteLine("邻居被吵醒");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        public class Stealer
        {
            public static void Hide(){
                Console.WriteLine("小偷藏起来");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MyEvent
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("欢迎来的流星小子博客学习");
                Cat cat = new Cat();
               // cat.Miao();
                cat.MiaoEventHandler += Mouse.Run;
                cat.MiaoEventHandler += Dog.Wang;
                cat.MiaoEventHandler += Neighbor.Awake;
                cat.MiaoEventHandler += Stealer.Hide;
                cat.MiaoEventHandler += Baby.Dry;
                cat.MiaoEvent();
    
                Console.Read();
            }
        }
    }
  • 相关阅读:
    线程池进程池
    设计原则与设计模式
    腾讯阿里第三方接入
    计划任务
    系统服务
    Python Faker模块
    Python openpyxl模块
    Python-docx模块
    进程管理
    磁盘管理
  • 原文地址:https://www.cnblogs.com/gylhaut/p/5789386.html
Copyright © 2011-2022 走看看