C# 委托

回调在日常开发中,很常见,区别于非托管C/C++的非成员函数,framework提供了委托这种类型安全的机制,来完成回调.示例如下:

    public class Program
    {
        public static void Start()
        {
            new Machine().Run();
        }
    }

    public class Machine
    {
        public delegate void WarnHandler(object obj, MachineWarnEventArgs args);

        public  void Run()
        {
            for (var i =0; i < 100; i++)
            {
                if (i == 66)
                {
                    new WarnHandler(Machine_Warn).Invoke(this, new MachineWarnEventArgs($"温度达到了{i}度"));
                }
            }
        }

        public static void Machine_Warn(object obj, MachineWarnEventArgs args)
        {
            Console.WriteLine($"警报,{args._param}");
        }

        public class MachineWarnEventArgs : EventArgs
        {
            public string _param;

            public MachineWarnEventArgs(string param)
            {
                _param = param;
            }
        }
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C# 委托

    一、前言:每次看到委托和事件,心理面总是不自在,原因大家都懂,但是委托和事件在.NET FrameWork里面的应用非常的广泛,所以熟练的掌握委托和事件对一个....

    郑小超.
  • C#委托

    在C#中的委托关键字是 Delegate,委托类似于C/C++中函数的指针。是存有对某个方法引用的引用类型变量,可在运行时被改变。一般用于实现事件和回调方法。

    喵叔
  • C# 委托进阶

    本文参考自:https://wenku.baidu.com/view/41ab91d3c1c708a1284a44d7.html?qq-pf-to=pcqq.c...

    郑小超.
  • C# 委托基础

    不知不觉,又开始委托的学习了,感觉这个东西我能学一辈子,哈哈哈!这次看的是官方的参考书(C#高编9),每次看不同的资料,总能学到不同的知识!言归正传 1、为什么...

    郑小超.
  • c# 委托(Func、Action)

    以前自己写委托都用 delegate, 最近看组里的大佬们都用 Func , 以及 Action 来实现, 代码简洁了不少, 但是看得我晕晕乎乎。 花点时间研究...

    用户2434869
  • C#委托与事件

    拾点阳光
  • C#委托之我见

    委托的使用方式很简单,了解一下基本语法就可以开撸了。但是使用委托的真正难题是不知道应用场景,就像习得了一门新功夫,但是却找不到任何施展拳脚的地方。这个难题一直困...

    撸码那些事
  • C#-委托与事件

    委托:是一个类、是一种数据类型 定义语法: 访问修饰符 关键字(delegate) 返回值 标识符(参数列表) 委托的绑定:和委托的返回值一样,参数一样的方...

    祝你万事顺利
  • C#委托和事件

             通常,一个C语言学习者登堂入室的标志就是学会使用了指针,而成为高手的标志又是“玩转指针”。指针是如此奇妙,通过一个地址,可以指向一个数,结构体...

    yaphetsfang

扫码关注云+社区

领取腾讯云代金券