当前位置: 首页 > news >正文

极简建站南京做网站的公司

极简建站,南京做网站的公司,二手房网站开发背景,高端网站设计制作方法首先举一个实例#xff1a;创建一个控制台程序#xff0c;需求是#xff1a;有一只猫Tom#xff0c;有两只老鼠Jerry和Jack#xff0c;Tom只叫一声“喵#xff0c;我是Tom”#xff0c;两只老鼠就说“老猫来了#xff0c;快跑”#xff0c;我们来分析一下#xff1a;…首先举一个实例创建一个控制台程序需求是有一只猫Tom有两只老鼠Jerry和JackTom只叫一声“喵我是Tom”两只老鼠就说“老猫来了快跑”我们来分析一下我们需要Cat和Mouse类两个类当Cat的Shout方法触发的时候Mouse就执行Run方法不过这里如何让Shout触发式通知两只老鼠呢显然老猫不会通知老鼠“我来了你们快跑”。所以我们在Cat类中不应该关联Mouse类的。这个时候委托事件就是最好的处理方法了。委托是对函数的封装可以当作方法的特征指定一个名称。而事件则是委托的一种特殊形式当发生有意义的事件时时间对象处理通知过程。委托是一种引用方法的类型。一旦为委托分配了方法委托将与该方法具有完全相同的行为委托用关键字delegate来声明而事件就是说在发生其他类或者对象关注事件时类或对象可通过事件通知他们事件的关键字 用event声明。 1: class Cat2 2: { 3: private string name; 4: public Cat2(string name) 5: { 6: this.name name; 7: } 8: public delegate void CatShoutEventHandler(); 9: public event CatShoutEventHandler CatShout; 10: public void Shout() 11: { 12: Console.Write(喵,我是{0}., name); 13: if (CatShout ! null) 14: CatShout(); 15: } 16: } 17:   18: class Mouse 19: { 20: private string name; 21: public Mouse(string name) 22: { 23: this.name name; 24: } 25: public void Run() 26: { 27: Console.WriteLine(老猫来了{0}快跑!, name); 28: } 29: } 30:   31: static void Main(string[] args) 32: { 33: Cat2 cat new Cat2(Tom); 34: Mouse mouse1 new Mouse(Jerry); 35: Mouse mouse2 new Mouse(Jace); 36: cat.CatShout new Cat2.CatShoutEventHandler(mouse1.Run); 37: cat.CatShout new Cat2.CatShoutEventHandler(mouse2.Run); 38: cat.Shout(); 39: Console.Read(); 40: }   new Cat2.CatShoutEventHandler(mouse1.Run)的含义是实例化一个委托而委托的实例其实就是Mouse的Run方法。而“cat.CahShout ”表示cat.add_CatShout(new Cat2.CatShoutEventHandler(mouse1.Run))的意思。运行的结果 我们平时在点击一个按钮的时候通常看到这样子的东西private void button5_Click(object sender, EventArgs e) 这里的sender和e有什么用呢我们首先修改一下上面的例子 1: class Cat2 2: { 3: private string name; 4: public Cat2(string name) 5: { 6: this.name name; 7: } 8: public delegate void CatShoutEventhandler(object sender, CatShoutEventArgs args); 9: public event CatShoutEventhandler CatShout; 10: public void Shout() 11: { 12: Console.Write(喵,我是{0}., name); 13: if (CatShout ! null) 14: { 15: CatShoutEventArgs e new CatShoutEventArgs(); 16: e.Name this.name; 17: CatShout(this, e); 18: } 19: } 20: } 21:   22: class Mouse 23: { 24: private string name; 25: public Mouse(string name) 26: { 27: this.name name; 28: } 29: public void Run(object sender, CatShoutEventArgs args) 30: { 31: Console.WriteLine(老猫{0}来了{1}快跑, args.Name, name); 32: } 33: }   Main函数不变。这个时候的结果是 转载于:https://www.cnblogs.com/chenamo5776/archive/2011/11/13/2247177.html
http://www.zqtcl.cn/news/332971/

相关文章:

  • 汕头建站模板搭建怎么制作有效网站
  • 学生个人网站作品怎么wordpress用的什么主题
  • 设计logo网站侵权吗知乎一键做单页网站
  • 网站服务器有什么用做视频网站视频存放问题
  • 影评网站建设可以免费发布招聘网站
  • 富阳做兼职的网站正邦设计上海分公司
  • 网站漏洞解决办法投资
  • wordpress网站如何网页设计实训总结3000字大学篇
  • 用ps怎么做网站导航条wordpress 开启缩略图
  • 网上销售型的企业网站为什么要域名备案
  • 唐山网站建设方案优化国内酷炫网站
  • 国外网站备案吗网站做一样没有侵权吧
  • 谷歌怎么建网站ps中怎样做网站轮播图片
  • 汕头有没有做网站廊坊宣传片制作公司
  • 百度快速收录网站有些人做网站不用钱的 对吗
  • 如何规划一个网站网站建设预付费入什么科目
  • 北京做网站的好公司有哪些网站建设杭州缘择低价
  • 建设网站团队张掖响应式建站平台
  • 中国建设之乡是哪里网站优化连云港哪家强?
  • 网站建设报价是多少30号长沙封城最新消息
  • 常州专业网站建设费用电商推广技巧
  • 辽源市网站建设南通营销网站开发
  • 新站优化案例去韩国用什么地图导航
  • 宁波网站制作与推广WordPress怎么文章分类
  • mvc 做网站国内的搜索引擎有哪些
  • 设计视频网站腾讯云服务器网站域名备案
  • 网站建设费算费用还是固定资产镇赉县做网站的
  • 山西 旅游 英文 网站建设wordpress 设置登陆界面
  • 电商网站系统建设考试深圳网站建设培训哪家好
  • 工作室 网站项目策划书八篇案例