欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

看懂 ,学会 .NET 事件的正确姿势-简单版

程序员文章站 2022-12-17 11:11:57
发现之前写了一篇关于事件的阐述写的过于抽象。现在想想先理解本质由简入难比较合适 之前的一篇博客地址:https://www.cnblogs.com/LiMin/p/7212217.html 参照网上例子给个简单版本的如下:猫叫->老鼠跑了->主人醒了 ......

      发现之前写了一篇关于事件的阐述写的过于抽象。现在想想先理解本质由简入难比较合适
  之前的一篇博客地址:https://www.cnblogs.com/limin/p/7212217.html

 参照网上例子给个简单版本的如下:猫叫->老鼠跑了->主人醒了

 

using system;

namespace eventtest
{
    public class eventdemo
    {
        public void eventtest()
        {
            cat cat = new cat();
            mouse ms = new mouse();
            master mas = new master();
            cat.calling += ms.escape;//老鼠对 clling 订阅
            cat.calling += mas.wakened;//人 对 calling 订阅
            cat.call(); //猫叫
        }
    }
    public sealed class cat
    {
        public event eventhandler calling;
        public void call()
        {
            console.writeline("猫叫了...");
            calling?.invoke(this, eventargs.empty);
        }
    }
    public sealed class mouse : eventargs
    {
        public void escape(object sender, eventargs e)
        {
            console.writeline("老鼠逃跑了...");
        }
    }
    public sealed class master
    {
        public void wakened(object sender, eventargs e)
        {
            console.writeline("主人醒了");
        }
    }
}