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

    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();
            }
        }
    }
  • 相关阅读:
    (转)深入理解C语言指针的奥秘
    (转)C语言在哪里?
    [转]12个摄影基本法则
    光圈使用
    ArcIMS 连接器.NET Link 使用方法
    在asp.net中使用xml文件的两种类型及用法
    利用XSL双向转换XML文档
    光圈 暴光 快门对比
    保护眼睛的电脑颜色设置
    vb.net2005动态添加网页控件的事件
  • 原文地址:https://www.cnblogs.com/dongh/p/14768333.html
Copyright © 2011-2022 走看看