C# 事件 委托

 

学习一下事件 委托 (参考别人的博客,自己学习一下)
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();

           }

       }

   }

}

 

 

你可能感兴趣的:(C#)