• 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();
            }
        }
    }
  • 相关阅读:
    day18:正则表达式和re模块
    finance1:专业词汇
    Iterator & Iterable 和 Comparable&Comparator
    pandas中三种索引方式(.loc.iloc.ix)
    XML序列化与反序列化
    控件蓝图里控件绑定问题
    Mouse Properties(鼠标属性)
    cSV
    从父控件移除控件
    是否显示鼠标指针
  • 原文地址:https://www.cnblogs.com/gylhaut/p/5789386.html
Copyright © 2020-2023  润新知