文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>委托和事件的应用,模拟一个战斗机..

委托和事件的应用,模拟一个战斗机..

时间:2010-09-14  来源:legend050bbb

代码说明很清晰了,咱在这就不说什么了……

  1. //#define delegateDO 
  2. #define eventDO 
  3. using System; 
  4. using System.Collections.Generic; 
  5. using System.Linq; 
  6. using System.Text; 
  7. using System.Timers; 
  8.  
  9. //我的战斗机被偷????不怕,我有防盗器(委托和事件的应用,模拟一个战斗机防盗器) 
  10. //(这次换战斗机了。。。。。。。。) 
  11. //之前写过一个汽车防盗器,其实一样的…… 
  12. // 
  13. namespace ExCmd 
  14.     class Program 
  15.     { 
  16.         static void Main(string[] args) 
  17.         { 
  18.             zhandouji zdj = new zhandouji(); 
  19.             //本大爷知道飞机的启动密码,就是snowleung 
  20.             zdj.fei("snowleung"); 
  21.  
  22.  
  23.  
  24.             //某来来了个小偷,居然想偷我的战斗机 
  25.             //可是他悲剧的不知道启动密码 
  26.             zdj.fei("张三"); 
  27.  
  28.             Console.ReadKey(); 
  29.         } 
  30.     } 
  31.  
  32.     //英文不好,就写战斗机…… 
  33.     public class zhandouji 
  34.     { 
  35.         delegate void baojing(); 
  36.         event baojing EventBaojing; 
  37.         baojing bj; 
  38.         public zhandouji() 
  39.         { 
  40.             #region 事件实现 
  41.             //其实这一块就是个什么链式委托?不是很明白那个名字 
  42.             //后面不仅仅可以加熄火。 
  43.             //还能自毁 
  44.             EventBaojing += new baojing(fangdaoqi);//咱们启动防盗器 
  45.             EventBaojing += new baojing(shutdown);//还能自动熄火 
  46.             EventBaojing += new baojing(zihui); 
  47.             #endregion 
  48.  
  49.             #region 委托实现 
  50.             //其实这里也可以用以下代码,效果一样…… 
  51.             bj = new baojing(fangdaoqi); 
  52.             bj += new baojing(shutdown); 
  53.             bj += new baojing(zihui); 
  54.             #endregion 
  55.         } 
  56.  
  57.         void zihui() 
  58.         { 
  59.             Console.WriteLine("可怜的娃,战斗机还有自毁系统……"); 
  60.             //往后还可以加上自毁倒计时…… 
  61.             //Timer tmr = new Timer(1); 
  62.        
  63.         } 
  64.  
  65.         public void fei(string cmd)  
  66.         { 
  67.             switch (cmd) 
  68.             { 
  69.                 case "snowleung"
  70.                     Console.WriteLine("战斗机起飞中。。。"); 
  71.                     break
  72.                 default
  73.                     //请查看第一行的define……决定用什么方法实现 
  74.                     #if delegateDO 
  75.                     EventBaojing();   
  76.                     #endif 
  77.                     #if eventDO 
  78.                     bj(); 
  79.                     #endif 
  80.                     break
  81.             } 
  82.         } 
  83.  
  84.         private void fangdaoqi()  
  85.         { 
  86.             Console.WriteLine("防盗报警!你的战斗机未经授权起飞了!系统自动关闭引擎中..."); 
  87.         } 
  88.  
  89.         public void shutdown()  
  90.         { 
  91.             Console.WriteLine("已经关闭引擎!"); 
  92.         } 
  93.     } 

 

 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载