Blog

导航

 

 

学习一下事件 委托 (参考别人的博客,自己学习一下)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
   public class EventTest:EventArgs
    {
       private readonly string name;

       public string Name
       {
           get { return name; }       
       }

       public EventTest(){ }

       public EventTest(string name)
       {
           this.name = name;
       }

    }

   public class Notice
   {
       public delegate void NoticeEventHander(object sender, EventTest e);

       public event NoticeEventHander Notic;

       public void issue(string name)
       {
           if (Notic != null)
           {
               Notic(this, new EventTest(name));
           }
       }
   }

   public class XiaoYang
   {
       public static void SayXingQi(object sender,EventTest e)
       {
           Console.WriteLine(e.Name+"要放假了吧,呵呵");
       }
   }

   public class XiaoLi
   {

       public static void SayFangJia(object sender,EventTest e)
       {
           Console.WriteLine("今天是"+e.Name+",到周末了,可以放松一下了,嘎嘎");
       }
   }

   public class ComeOn
   {
       public static void Main(string[] args)
       {
           Notice notice = new Notice();

           Console.WriteLine("请输入今天星期几?");
           string name = Console.ReadLine();
           if (name == "星期5")
           {
               notice.Notic += new Notice.NoticeEventHander(XiaoYang.SayXingQi);
               notice.Notic += XiaoLi.SayFangJia;
               notice.issue("星期5");
               Console.ReadKey();
           }
       }
   }
}

 

 

posted on 2010-05-10 16:12  chongyang  阅读(383)  评论(1编辑  收藏  举报