日期:2014-05-18 浏览次数:21074 次
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