精华内容
下载资源
问答
  • 按钮触发单击事件 消息自动显示 源码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 委托 { //项目说明:用委托的方式...

    委托 说白了就像是C语言中的 函数指针

    一个很简单的例子
    按钮触发单击事件 消息自动显示
    源码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace 委托
    {

    //项目说明:用委托的方式实现 按钮点击显示消息
    
    public class btn  //此次事件的父项【按钮】
    {
        //父项 定义委托 并用委托声明事件
        public delegate void bt_click();
        public event bt_click bt_click_event;
    
        //在方法中包含此事件(只要点击此事件就自动发生 传给子项)
        public void click()
        {
            Console.WriteLine("我点了按钮");
            bt_click_event(); //注意事件最好放在最后 书写 
    
           
    
        }
    
    }
    public class msg  //此次事件的子项【消息】
    {
        public void ShowMsg()
        {
            Console.WriteLine("开始显示信息并输出");
            Console.ReadLine();
    
        }
    
    }
    
    
    class Program
    {
    
        static void Main(string[] args)
        {
            //实例化两个对象(父子项)
            btn bt = new btn();
            msg mg = new msg();
            //将付项的事件绑定到子项方法(也可以叫订阅父项事件) 用方法订阅事件
            bt.bt_click_event += new btn.bt_click(mg.ShowMsg);
            bt.click();
        }
    }
    

    }

    展开全文
  • 使用委托时要先实例化,类一样,使用new关键字产生委托的新实例,然后将一个或者多个与委托签名匹配的方法与委托实例关联。随后调用委托时,就会调用所有与委托实例关联的方法。 与委托关联可以是任何类或者结构中...

    一、委托

    使用委托时要先实例化,和类一样,使用new关键字产生委托的新实例,然后将一个或者多个与委托签名匹配的方法与委托实例关联。随后调用委托时,就会调用所有与委托实例关联的方法。

    与委托关联可以是任何类或者结构中的方法,可以是静态方法,只要是可以访问的方法都可以。

    1.创建一个委托类型使用关键字delegate(委托)
    在这里插入图片描述
    输出如下:
    在这里插入图片描述
    2.一个委托实例,可关联多个方法:
    在这里插入图片描述
    其中D4 = TestMethod1;用“=”而不能“+=”,是因为之前D4未实例化,可以使用下面的代码:

    MyDelegate D4 = new MyDelegate(TestMethod1);
    D4 += TestMethod2;
    D4 += TestMethod3;
    

    但是如果使用以下方式,会出现编译错误: “MyDelegate”方法没有采用“0”个参数的重载:

    MyDelegate D4 = new MyDelegate();
    D4 += TestMethod1;
    

    详情见:链接

    3.移除一个委托实例中的方法 使用“-=”:
    在这里插入图片描述
    二、事件

    事件自身就是委托类型,由于委托可以绑定和调用多个方法,所以会为事件的处理带来方便。类型只需要对外公开事件,就可以与外部的其它地方关联,从而实现事件订阅

    要在类中声明事件(只不过不管是不是声明为public,它总是被声明为private。另外,它还有两个方法,分别是add_MakeGreet和remove_MakeGreet,这两个方法分

    别用于注册委托类型的方法和取消注册。实际上也就是: “+= ”对应 add_MakeGreet,“-=”对应remove_MakeGreet。而这两个方法的访问限制取决于声明事件时的访问限制符。)

    1.首先要定义用来作为事件封装类型的委托,用event关键字来声明事件。

    2.为了允许派生类重写引发事件的代码,通常会在类中声明一个受保护的方法,习惯上命名On<事件名>
    在这里插入图片描述
    在这里插入图片描述
    3.EventArgs类参数

    由于不同的事件要传递的参数不同,更多时候是从EventArgs类派生的子类的实例,显然EventHandler委托时不能满足各种情况的。

    如果针对不同的事件也定义一个对应的委托,数量一旦多起来,不好管理,为了解决这个问题,.NET类库提供了一个带有泛型参数的事件

    处理委托:

    public delegate void EventHandler(object sender,TEventArgs e); TEventArgs 是一个泛型参数
    在这里插入图片描述
    在这里插入图片描述
    转自:https://www.cnblogs.com/hjxzjp/p/7667536.html

    深入理解参照:http://www.tracefact.net/tech/009.html

    转:https://www.cnblogs.com/vickylinj/p/10922139.html

    展开全文
  • C#委托和事件

    2021-10-28 09:01:55
    C#委托和事件 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:C# 作者:吴锦华 撰写时间:2021/10/28 一、委托的概念 委托从字面上理解就是一种代理...

    C#委托和事件  

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    开发工具与关键技术:C#

    作者:吴锦华

    撰写时间:2021/10/28

    、委托的概念 

    委托从字面上理解就是一种代理,类似于房屋中介,由租房人委托中介为其租赁房屋。

    在 C# 语言中,委托则委托某个方法来实现具体的功能。

    委托的特点

    1、委托是一种引用类型,虽然在定义委托时与方法有些相似,但不能将其称为方法

    2、从数据结构来讲,委托是和类一样是一种用户自定义类型

    3、委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址

    4、调用委托的时候,委托包含的所有方法将被执行

    委托的分类:

    方法委托

    多播委托

    匿名委托

    委托的使用步骤:

    1、定义声明委托

    2、实例化委托

    3、调用委托

    二、方法委托

    方法委托是最常用的一种委托,其定义的语法形式如下:

    1 修饰符 delegate 返回值类型 委托名 ( 参数列表 );

    1、定义声明委托

    从上面的定义可以看出,委托的定义与方法的定义是相似的。例如定义一个不带参数的委托

    代码如下:

    1 public delegate void MyDelegate();

    2、实例化委托

    在定义好委托后就到了实例化委托的步骤,命名方法委托在实例化委托时必须带入方法的具体名称。

    实例化委托的语法形式如下:

    1 委托名 委托对象名 = new 委托名 ( 方法名 );

    委托中传递的方法名既可以是静态方法的名称,也可以是实例方法的名称。

    需要注意的是,在委托中所写的方法名必须与委托定义时的返回值类型和参数列表相同。

    3、调用委托

    在实例化委托后即可调用委托,语法形式如下:

    1 委托对象名 ( 参数列表 ); 

    在这里,参数列表中传递的参数与委托定义的参数列表相同即可。

    举例如下:

    在Student类中新增成员方法:

    修改Program类

     

    三、多播委托 

    在 C# 语言中多播委托是指在一个委托中注册多个方法,在注册方法时可以在委托中使用加号运算符或者减号运算符来实现添加或撤销方法。

    比如上一节中testDel 委托中只有一个方法。那么可以通过加号运算符或者减号运算符来继续添加委托方法,那么当委托执行的时候,所有委托的方法都会被执行。

    举例如下:

    新增两个学生类,并将其ShowInfo方法委托给testDel。

    修改Program类:

     

    注意:

    在使用多播委托时需要注意,在委托中注册的方法参数列表必须与委托定义的参数列表相同,否则不能将方法添加到委托上。

    四、匿名委托 

    在 C# 语言中匿名委托是指使用匿名方法注册在委托上,实际上是在委托中通过定义代码块来实现委托的作用。

    具体的语法形式如下:

     

    通过上面 3 个步骤即可完成匿名委托的定义和调用,需要注意的是,在定义匿名委托时代码块结束后要在 {} 后加上分号。

    举例如下:

     泛型集合中使用匿名委托:

     

    五、事件 

    在 C# 语言中,Windows 应用程序、 ASP.NET 网站程序等类型的程序都离不开事件的应用。

    例如在登录 QQ 软件时需要输入用户名和密码,然后单击“登录”按钮来登录 QQ,此时 单击按钮的动作会触发一个按钮的单击事件来完成执行相应的代码实现登录的功能。

    事件是一种引用类型,实际上也是一种特殊的委托。

    通常,每一个事件的发生都会产生发送方和接收方,发送方是指引发事件的对象,接收方则是指获取、处理事件。事件要与委托一起使用。

    事件定义的语法形式如下:

    1 访问修饰符 event 委托名 事件名 ;

    在这里,由于在事件中使用了委托,因此需要在定义事件前先定义委托。

    在定义事件后需要定义事件所使用的方法,并通过事件来调用委托。

    举例如下:

    比如一个学校中有两个老师,每个老师都有三个学生。每次老师点名的时候学生都要输出自己的信息。 那么在这个例子中老师点名可以看做一个事件,当点名事件触发时,学生就会输出自己的信息。 老师是事件的发送方,学生是事件的接收方。

    六、C#中的定时器 

    C#中定时功能一般使用定时器Timer类,Timer类需要引用命名空间using

    System.Timers。

    Timer类包含两个构造方法: 

    Timer类中的常用方法或属性: 

    方法或属性

    作用

    AutoReset  

    bool类型

    true:一直执行,直到Stop调用。(默认)

    false:只执行一次

    Interval  

    有默认构造方法

    Enabled

    能继承类

    Elapsed

    允许使用abstract、protected以及sealed修饰

    void Start();

    启动定时器。 等价于Enabled=true

    void Stop();

    停止定时器。等价于Enabled=false

    举例如下:

     

    展开全文
  • C#中的委托和事件

    2021-11-15 14:04:10
    我相信全网关于委托和事件的文章概述,大家应该已经读过很多篇。但是就我的观察来看,大多数文在讲述这方面概念时,都会用烧开水狗叫主人的例子来讲述事件怎么工作,这样比喻固然与生活联系紧密,但看多了难免有...

    图片

    写在最前

    我相信全网关于委托和事件的文章和概述,大家应该已经读过很多篇。但是就我的观察来看,大多数文在讲述这方面概念时,都会用烧开水和狗叫主人的例子来讲述事件怎么工作,这样比喻固然与生活联系紧密,但看多了难免有一些审美疲劳。

    所以今天,我打算结合自己的一些工作经历,再来谈谈我个人对委托和事件的理解,希望能带给大家一些不一样的见解。

    图片

    先谈概念

    委托:一种引用类型,表示具有特定参数列表和返回类型的方法的引用。在实例化委托时,你可以将其实例与任何具有兼容签名和返回类型的方法相关联。你可以通过委托实例调用方法。委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。

    事件:类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事件的类称为“发布者”,接收(或处理)事件的类称为“订阅者”。

    以上概述来自MSDN官方文档:

    https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/delegates/

    从概念中我们其实已经可以看出,委托主要是对方法的一种引用,而事件则充当了多个类或者对象进行相互通知的桥梁。

    如果我这么解释你可以明白的话,那么我们今天的主题就已经明朗了,下面我们就用具体的代码实例来讲述。

    图片

    再看例子

    委托

    我们需要先声明一个委托实例,在C#中,显示声明自定义委托采用delegate关键字,声明方式与声明普通方法相同,需要指定访问范围和返回类型,同时包含访问参数。

    同时我们针对委托,声明对应的方法,方法的返回值和参数需要与委托保持一致,若不一致则会在委托传递方法时出现编译错误。

    委托执行内部传递方法的方式是使用Invoke方法,此处需注意,C#中同时提供了BeginInvoke和EndInvoke的方法对,用于异步执行内部的方法

    下面我们一起来看一下示例:

    在此示例中,我们分别定义了一个无参数无返回值的委托和一个包含2个参数并返回int类型的委托,分别用于执行两种对应的方法。在两个委托执行对应的Invoke方法之后,会产生以下的结果:

    图片

    结果和我们预期一致,程序同步顺序地执行了两个委托并打印出相应的结果。但是看到这里也许你会有一个疑问,既然委托执行时的结果与直接调用方法一致,那么我们为什么还需要使用委托来执行方法呢?

    这时我们就要回到最初的定义:委托用于将方法作为参数传递给其他方法

    由于实例化的委托是一个对象,因此可以作为参数传递或分配给一个属性。这允许方法接受委托作为参数并在稍后调用委托。这被称为异步回调,是在长进程完成时通知调用方的常用方法。当以这种方式使用委托时,使用委托的代码不需要知道要使用的实现方法。功能类似于封装接口提供的功能。

    我们一起使用一个比较直观的例子来验证:

    using System;
    
    namespace ConsoleApp1
    {
        class Program
        {
            public delegate void Del(string message);
            
            static void Main(string[] args)
            {
                Del handler = new Del(DelegateMethod);
                MethodWithCallback(1,2,handler);
                Console.Read();
            }
    
            public static void DelegateMethod(string message)
            {
                Console.WriteLine(message);
            }
    
            public static void MethodWithCallback(int param1, int param2, Del callback)
            {
                callback(string.Format("当前的值为:{0}", (param1 + param2)));
            }
        }
    }

    在这段代码中,我们声明了一个无返回值委托Del,用于接收传入的消息,并且该委托指向了一个调用控制台的方法DelegateMethod。而后续我们调用MethodWithCallback方法时,无需调用控制台相关方法,而是直接将Del委托的实例作为参数传入,就实现DelegateMethod方法的调用。这个实例就是我们上述提到的异步回调和委托对方法的引用。

    运行结果如下:

    图片

    此处我使用了JetBrains出品的IDE Rider,因此截图界面会与VS有所不同,喜欢轻量级IDE的同学可以试试这款,有30天的免费试用期,地址:Rider: The Cross-Platform .NET IDE from JetBrains,此处不再过多讲解。

    根据我们上述的实例讲解,大家对委托的作用及使用场景应该有了初步的理解,但是我们仔细想一想,上述的场景似乎少了些什么,为什么我们的委托始终只能指向一个方法进行调用呢?

    这里就要引出我们接下来的概念:多播委托。

    事实上,委托是可以调用多个方法的,这种方式就叫做多播委托,在C#中,我们可以使用+=的运算符,将其他委托附加到当前委托之后,就可以实现多播委托,相关示例如下:

    using System;
    
    namespace ConsoleApp1
    {
        class Program
        {
            public delegate void Del();
            
            static void Main(string[] args)
            {
                Del handler = new Del(DelegateMethod1);
                Del handlerNew = new Del(DelegateMethod2);
                handler += handlerNew;
                handler.Invoke();
                Console.Read();
            }
    
            public static void DelegateMethod1()
            {
                Console.WriteLine("天才第一步!");
            }
    
            public static void DelegateMethod2()
            {
                Console.WriteLine("天才第二步!");
            }
        }
    }

    ​​​​​​​在这个示例中,我们重新编写了一个方法叫DelegateMethod2,同时我们又声明了一个新的委托对象handlerNew指向该方法。接着我们使用+=的方式将handlerNew添加至handler并执行该委托,得到的结果如下:

    图片

    如我们先前所料,多播委托把多个方法依次进行了执行。此时如果某个方法发生异常,则不会调用列表中的后续方法,如果委托具有返回值和/或输出参数,它将返回上次调用方法的返回值和参数。与增加方法相对应,若要删除调用列表的方法,则可以使用-=运算符进行操作。

    关于委托的理解与常用方式,我们就讲解到这里,事实上,多播委托常用于事件处理中,由此可见,事件与委托有着千丝万缕的联系,下面我们就拉开事件的序幕。

    事件

    如前文讲解时所说,事件是一种通知行为,因此要分为事件发布者和事件订阅者。而且在.Net中,事件基于EventHandler委托和EventArgs基类的,因此我们在声明事件时,需要先定义一个委托类型,然后使用event关键字进行事件的定义。

    相关的示例如下:

    using System;
    
    namespace ConsoleApp1
    {
        public class PublishEvent
        {
            public delegate void NoticeHandler(string message);
    
            public event NoticeHandler NoticeEvent;
    
            public void Works()
            {
                //触发事件
                OnNoticed();
            }
    
            protected virtual void OnNoticed()
            {
                if (NoticeEvent != null)
                {
                    //传递事件及参数
                    NoticeEvent("Notice发布的报警信息!");
                }
            }
        }
        
        public class SubscribEvent
        {
            public SubscribEvent(PublishEvent pub)
            {
                //订阅事件
                pub.NoticeEvent += PrintResult;
            }
            
            /// <summary>
            /// 订阅事件后的响应函数
            /// </summary>
            /// <param name="message"></param>
            void PrintResult(string message)
            {
                Console.WriteLine(string.Format("已收到{0}!采取措施!",message));
            }
        }
        
        class Program
        {
            static void Main(string[] args)
            {
                PublishEvent publish = new PublishEvent();
                SubscribEvent subscrib = new SubscribEvent(publish);
                //触发事件
                publish.Works();
                Console.Read();
            }
        }
    }

    ​​​​​​​从事例中我们可以看出,我们分别定义了发布者和订阅者相关的类。

    在发布者中,我们需要声明一个委托NoticeHandler,然后定义一个此类型的事件NoticeEvent。在定义对象之后,我们需要对事件进行执行,因此有了OnNoticed方法,此方法只用于事件本身的执行。那么什么时候才能执行事件呢?于是我们又有了触发该事件的方法Works,当Works方法被调用时,就会触发NoticeEvent事件。

    而在订阅者中,我们需要对NoticeEvent事件进行订阅,因此我们需要发布者的对象PublishEvent,同时需要对它的事件进行订阅。正如我们前文所说,订阅使用+=的方式,与多播委托的使用是一致的,而+=后的对象正是我们需要响应后续处理的方法PrintResult。当事件被触发时,订阅者会接收到该事件,并自动执行响应函数PrintResult。

    执行结果如下图所示:

    图片

    从执行结果中我们可以看出,在事件被触发后,订阅者成功接收到了发布者发布的事件内容,并进行自动响应,而我们在此过程中从未显式调用订阅者的任何方法,这也是事件模型的本质意义:从发布到订阅。

    在微软官方文档中提到,事件是一种特殊的多播委托,只能从声明它的类中进行调用。客户端代码通过提供对应在引发事件时调用的方法的引用来订阅事件。这些方法通过事件访问器添加到委托的调用列表中,这也是我们可以使用+=去订阅事件的原因所在,而取消事件则和多播委托一致,使用-=的方式。

    图片

    最后总结

    本文我们讲解了委托和事件之间的关系,以及它们的使用场景。在我个人的工作经历中,曾经有3年左右的时间从事C/S相关的开发工作,其中包含了大量多线程、委托和事件的使用场景。主要用于在开发WinForm程序时,不同窗体(包含父子窗体)之间进行相互通信,其中都是基于事件的发布和订阅作为实现的。而委托的使用场景则更多,很多C#方法在使用时都会传入一个Action或者Func委托作为参数,而这些参数同时又支持Lambda表达式,这就又引出了匿名函数的概念,由于篇幅所限,此处不再进行讲解,大家可以自行搜索资料进行了解和学习。

    展开全文
  • C# 讲解委托和事件的好文章集合。 包括: C# 委托妙文 C# 委托和事件 C# 委托使用方法 C# WndProc的使用方法 文档内有详细代码,您一定可以用它学会委托和事件
  • c#委托和事件

    2021-01-19 21:59:09
    委托就是把一个函数封装成对象,强化了c#的面向对象特性, 用法还在摸索 事件委托的特殊拓展,事件的使vb.net教程 用主要包括: 1.被委托者的创建  public delegate void XXEventHandler(Parameter A,~); //多播...
  • C# 委托事件的区别

    2021-08-09 21:47:49
    委托可以把一个方法代入另一个方法,相当于指向函数的指针,换句话说,委托相当于一个函数指针,而事件就相当于保存委托的数组。 总的来说,委托是一个类,该类内部维护着一个字段,指向一个方法。 委托的声明:...
  • 声明委托1.1实例化委托1.2委托调用1.3委托使用场景1.4系统内置委托Action Func1.5 多播委托二、什么是事件1.声明事件1.1事件调用1.3事件使用场景1.4 事件与设计模式 前言 提示:这里可以添加本文要记录的大概内容:...
  • c#委托 事件 区别

    2021-10-11 10:17:21
    //定义委托和类差不多 有返回值,有参数 但是不用写具体的实现 public delegate void MyDelegate(); public delegate void MyDelegate1(string name); public void funD() { MyDelegate md = new MyDelegate...
  • 这里先复习一下父类继承子类的相互调用. class Program { static void Main(string[] args) { Student student = new Student() { Age = 9, GradeName = "四年级" }; // 子类可直接调用父类非同名成员 ...
  • 简单说一下委托的含义 委托就是可以将别的类中的方法直接传递到委托所在类中使用的方法,具体操作步骤如下。 搭建界面如下: 具体操作如下//form1全部代码 namespace 委托 { public partial class Form1 : Form {...
  • C#事件委托详解

    2021-06-27 15:40:00
    一、事件的五个组成部分 事件的定义:使对象或类具备通知能力的成员。 事件的使用场景:主要用于对象获类间的动作协调或...5、订阅关系(Event Handler——Event)把事件处理器和事件关联到一起,事件的响应者必...
  • 本篇文章引用张子阳博客基本思路,然后根据自己的经验,进行了部分的简化修改,委托就在于理解,多看几遍就理解了。 委托:本质上讲委托是一种可以将方法作为参数的方法,可以包含参数也可以不包含参数 事件:从...
  • C# 委托事件总结

    2021-12-11 21:27:26
    C# 中的委托和事件可以说是超级拦路虎了,一个不小心就容易让人直接放弃学习。最近几天花了点时间钻研了一下,查看了一些资料,希望做个总结。 我还达不到技术大佬的级别,主要就是做个**自我总结**,很推荐大家看...
  • 文章转载自:https://www.cnblogs.com/dafozhang/archive/2011/12/30/2307070.html
  • C#委托和事件的区别

    2021-02-21 23:21:13
    区别 委托 事件 是否可以使用=来赋值 是 否 是否可以在类外部进行调用 是 否 是否是一个类型 是 否
  • 猫叫触发一系列的动作vb.net教程或者说触发一系列事件,猫叫导致狗叫,小孩哭,Mom跑。 代码结构申明 1 /// <summary> 2 /// 接口类 3 /// </summary> 4 public interface IObeject 5 { 6 /// <...
  • 使用面向对象的思想 用c#控制台代码模拟猫抓老鼠我们先来分析一下猫抓老鼠的过程1.猫叫了2.所有老鼠听到叫声,知道是哪只猫来了3.老鼠们逃跑,边逃边喊:"xx猫来了,快跑啊!我是老鼠xxx"一 双向耦合的代码首先需要一个猫...
  • C#-委托事件

    2021-04-08 19:44:02
    通过使用C#委托事件,实现信用卡绑定银行卡然后定时帮用户进行信用卡从储蓄卡中扣款的还款功能。 核心代码 1.定义信用卡类储蓄卡类 class DepCard //储蓄卡 { public string cardName; public int ...
  • C#委托事件

    2021-07-07 14:38:04
    注意这里参数 基本上定义委托时都是用这么模式 很通用 二定义事件 public event AlarmEventHandler Alarm; 三 注册(建立方法与事件的关系) class1.Alarm += Program_Alarm; 四 触发 调用doo() public void doo() ...
  • C# 委托和事件 (三)

    2021-02-09 20:32:47
    C#中,委托(delegate)是一种引用类型,在其他语言中,与委托最接近的是函数指针,但委托不仅存储对方法入口点的引用,还存储对用于调用方法的对象实例的引用。 using System; using System.IO; namespace ...
  • 文章目录委托和事件 委托和事件 参考 起因: 简单理解一下: 什么是委托?定义方法的类型。 可以将多个方法绑定到委托上 使用+=,同理取消方法的绑定-= 什么是事件?类似属性对字段的封装,是对委托变量的封装 ....
  • 一、C# 委托事件、回调 基础概念 1.委托C#中实现事件、回调的基础 2. 二、
  • 首领A要搞一场鸿门宴,吩咐部下BC各自带队埋伏在屏风两侧,约定以杯为令:若左手举杯,则B带队杀出;若右手举杯,则C带队杀出;若直接摔杯,则BC同时杀出。BC袭击的具体方法,首领A并不关心。 分析: 首领A会...
  • c#委托和事件的具体使用,回调函数该怎么用,哈希表是怎么回事?
  • C#中的委托和事件 委托和事件在 .NET Framework 中的应用非常广泛,然而,较好地理解委托和事件对很多接触 C# 时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人...
  • 本文主要介绍委托事件和Lambda表达式。 文章目录1. 委托1.1 委托使用1.2 委托链2. 事件3. Lambda表达式3.1 委托进化史3.2 Lambda方法体4. 参考资料 1. 委托 1.1 委托使用 委托是一种类型,表示对具有特定参数列表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,934
精华内容 31,573
关键字:

c#委托和事件

c# 订阅
友情链接: demo.zip