日期:2014-05-18 浏览次数:20922 次
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 收衣服 { /// <summary> /// 先定义一个委托 /// </summary> public delegate void Mydelegate(); /// <summary> /// 我 /// </summary> class me { /// <summary> /// 打电话求助事件 /// </summary> public event Mydelegate Call; /// <summary> /// 让我来看一下天气怎么样 /// </summary> /// <param name="weather">天气</param> public void CheckWeather(string weather) { if (weather == "雨")// 下雨?还不赶紧打电话给漂亮MM!!! { Call(); } else { Console.WriteLine("没下雨?!唉,还是找别的理由打电话给漂亮MM吧……"); } } } /// <summary> /// 邻居 /// </summary> class Neighbor { /// <summary> /// 邻居还要有一个能处理事件的方法 /// </summary> public void Doit() { Console.WriteLine("漂亮MM帮我收衣服了!"); } } class Program { static void Main(string[] args) { me me = new me(); //实例化一个我 Neighbor PLMM = new Neighbor(); //假设邻居是一个漂亮MM~ me.Call += new Mydelegate(PLMM.Doit);// 先定好打电话是要让漂亮执行Doit方法帮收衣服 int i = 0; string weather = "晴"; while (i < 10) { if (i++ % 3 == 0)// 虚拟一个下雨的条件 { weather = "雨"; Console.Write("下雨了!!!"); } else { weather = "晴"; } me.CheckWeather(weather); } Console.ReadKey(); } } } // 执行结果: // 下雨了!!!漂亮MM帮我收衣服了! // 没下雨?!唉,还是找别的理由打电话给漂亮MM吧…… // 没下雨?!唉,还是找别的理由打电话给漂亮MM吧…… // 下雨了!!!漂亮MM帮我收衣服了! // 没下雨?!唉,还是找别的理由打电话给漂亮MM吧…… // 没下雨?!唉,还是找别的理由打电话给漂亮MM吧…… // 下雨了!!!漂亮MM帮我收衣服了! // 没下雨?!唉,还是找别的理由打电话给漂亮MM吧…… // 没下雨?!唉,还是找别的理由打电话给漂亮MM吧…… // 下雨了!!!漂亮MM帮我收衣服了!
using System; namespace 收衣服 { /// <summary> /// 包含事件相关参数的类 /// </summary> public class MyEventArgs { private Person offerHelpPerson; /// <summary> /// 提供服务的人 /// </summary> public Person OfferHelpPerson { get { return offerHelpPerson; } set { offerHelpPerson = value; } } private Person needHelpPerson; /// <summary> /// 需要服务的人 /// </summary> public Person NeedHelpPerson { get { return needHelpPerson; } set { needHelpPerson = value; } } private EnmWeather weather; /// <summary> /// 天气情况 /// </summary> public EnmWeather Weather { get { return weather; } set { weather = value; } } /// <summary> /// 构造方法 /// </summary> /// <param name="offerHelpPerson">提供服务的人</param> /// <param name="needHelpPerson">需要服务的人</param> /// <param name="weather">天气情况</param> public MyEventArgs(Person offerHelpPerson, Person needHelp