一直弄不懂啥是事件,啥是委托,直到自己真正意义上的动手了以后才明白了大致的意思,一直看别人的博客,不如自己动手试一试。
委托:
顾名思义;叫别人干事情。小张你去帮我端个水。小李,你去帮我送个信。而这个小张,小李就是我们通常意义上指的委托(Eventhandler),为啥叫Eventhanlder,咱们以后再聊,我们现在就只看委托。
就写一个控制台程序吧。不废话上源码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { public delegate void Readkey(string key); static void Main(string[] args) { string str = "Hello world!"; Readkey readkey = new Readkey(show); readkey(str); Console.ReadKey();
readkey = new Readkey(wxz.xianshi);
readkey("Hi world!");
Console.ReadKey();
} public static void show(string str) { Console.WriteLine(str); } public class wxz { public static void xianshi(string str) { Console.WriteLine(str+"wxzzzzzz"); } } } }
运行效果:
委托的关键字是delegate,感觉上和其他的类还是有一些不同,首先你得声明他是一个委托(delegate),你还需要声明是否有返回值,声明传入参数类型(public delegate void Readkey(string key);),然后这个委托能干什么呢,能代替你执行方法(类型和传入参数一样的方法public static void show(string str)),使用前你需要先实例化这个委托(不然你人都找不到,又怎么让他帮你干活呢?),怎么样是不是很简单(?ω?)?。自己动手试一试总比别人填鸭式的教要好很多,下次我们来讲讲啥是事件。
原文:https://www.cnblogs.com/soulcabbage/p/10469155.html