电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C委托和代理示例

C委托和代理示例_第1页
1/9
C委托和代理示例_第2页
2/9
C委托和代理示例_第3页
3/9
C#委托和事件 示例 using System; using System.Collections.Generic; using System.Text; namespace 委托和事件 { class Program { static void Main(string[] args) { //实例化猫Tom 和老鼠Jerry 和Jack Cat cat = new Cat("Tom"); Mouse mouse1 = new Mouse("Jerry"); Mouse mouse2 = new Mouse("Jack"); //将Mouse 的Run 方法,通过实例化委托Cat.CatShoutEventHandler 登记到Cat 的CatShout 事件当中。其中“+=”表示增加委托实例对象,即"add_CatShout" cat.CatShout += new Cat.CatShoutEventHandler(mouse1.Run); cat.CatShout += new Cat.CatShoutEventHandler(mouse2.Run); cat.Shout(); Console.WriteLine("\r"); Cat1 cat1 = new Cat1("(有参)猫"); Mouse1 mouse3 = new Mouse1("(有参)Jerry"); Mouse1 mouse4 = new Mouse1("(有叁)Jack"); //写法不变 cat1.CatShout += new Cat1.CatShoutEventHandler(mouse3.Run); cat1.CatShout += new Cat1.CatShoutEventHandler(mouse4.Run); cat1.Shout(); Console.Read(); } } //无参数委托事件 class Cat { private string name; public Cat(string name) { this.name = name; } //申明无参数委托 CatShoutEventHandler public delegate void CatShoutEventHandler(); //申明事件CatShout,它的类型是委托CatShoutEventHandler public event CatShoutEventHandler CatShout; public void Shout() { Console.WriteLine("喵,我是{0}.", name); if (CatShout != null) { //由于CatShout 的类型是委托CatShoutEventHandler()(无参数),所以CatShout()也是无参数,无返回值的,有参数的情况见下面的示例 CatShout();//当执行Shou()方法时,若CatShou中有对象登记事件,则执行CatShout()方法 } } } class Mouse { private string name; public Mouse(string name) { this.name = name; } public void Run() { Console.WriteLine("老猫来了,{0}快跑!", name); } } //有参数委托事件 //增加一个新类,继承EventArgs。作用:在事件触发时,传递数据。 public class CatShoutEventArgs : EventArgs //EventArgs:包含事件数据的类的基类 { private string name; public string Name { get { return name; } set { nam...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C委托和代理示例

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部