首页 > 代码库 > C# 委托与事件
C# 委托与事件
using System; namespace TheDelegate { public class People { public static void Say() { Console.WriteLine("好的,我说一下,是我代干的哈。"); } public static int Sum(int a, int b) { int c = a + b; Console.WriteLine("结果是:{0}", c); return c; } public static int By(int a, int b) { int c = a * b; Console.WriteLine("结果是:{0}", c); return c; } public delegate void SmileEventHandler(); public event SmileEventHandler OnSmile; public void Smile() { if (OnSmile != null) { Console.WriteLine("I‘m smiling..."); OnSmile(); } } public delegate void LaougthEventHandler(object sender, EventArgs e); public event LaougthEventHandler OnLaougth; public void Laougth() { if (OnLaougth != null) { Console.WriteLine("I‘m Laougthing, hahahaha..."); OnLaougth(this, new EventArgs()); } } } class Program { public delegate void SayEventHandler(); public delegate int CalEventHandler(int a, int b); static void Main(string[] args) { SayEventHandler say = new SayEventHandler(People.Say); say(); CalEventHandler cal = new CalEventHandler(People.Sum); cal += People.By; int res = cal(22, 33); Console.WriteLine(res); People ppl = new People(); ppl.OnSmile += new People.SmileEventHandler(ppl_OnSmile); ppl.Smile(); ppl.Smile(); ppl.OnLaougth += new People.LaougthEventHandler(ppl_OnLaougth); ppl.Laougth(); } private static void ppl_OnSmile() { Console.WriteLine("严肃!"); } private static void ppl_OnLaougth(object sender, EventArgs e) { Console.WriteLine("安静,安静!\t{0}\t{1}", sender, e); } } }
C# 委托与事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。