博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#: Delegate and Event
阅读量:5235 次
发布时间:2019-06-14

本文共 1801 字,大约阅读时间需要 6 分钟。

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Test.Other{    public class TestDelegateAndEvent    {        public delegate void TestDelegate();        public event TestDelegate TestEventHandler;        public void Test()        {            TestDelegate testDelegate = new TestDelegate(Test1);            TestEventHandler += new TestDelegate(Test1);            testDelegate();            TestEventHandler();        }        public void Test1()        {        }    }}
TestDelegateAndEvent.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Test.Other{    class Program    {        //public static delegate void TestDelegate();        //public static event TestDelegate TestEventHandler;        static void Main(string[] args)        {            // Delegate can be triggered directly            //TestDelegate testDelegate = new TestDelegate(Test);            //testDelegate();            //TestDelegateAndEvent test = new TestDelegateAndEvent();            //test.TestEventHandler += Test;            // Error: The delegate inner the class is private even if the type is public.            // test.TestDelegate();            // Error: Event can't be triggered directly.            //test.TestEventHandler();            Console.ReadLine();        }        public static void Test()        {            Console.WriteLine("test");        }    }}
Program.cs

总结:

1. Delegate可以将方法作为另外一个方法的参数带入其中进行运算;

2. 实际上Delegate和Event都是类,Event是一种特殊类型的Delegate;

3. 类内的Delegate不能被对象调用,即便这个delegate是Public的;

4. delegate和event都重载了+=,-=, 但是delegate可以用=直接赋值,但是event不可以;

5. delegate和event都不能由对象直接触发;

6. delegate和event都不能是static.

 

转载于:https://www.cnblogs.com/LeimOO/p/3615047.html

你可能感兴趣的文章
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Hive教程(1)
查看>>
第16周总结
查看>>
C#编程时应注意的性能处理
查看>>
Fragment
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>
使用C#交互快速生成代码!
查看>>
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书_2019年
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
MPT树详解
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
前端各种mate积累
查看>>
jQuery 1.7 发布了
查看>>