您的位置:首页 > 其它

.Net学习之基于委托、事件的观察者模式

2016-03-09 15:50 387 查看
/// <summary>
/// 猫类
/// </summary>
public class Cat
{
//委托声明
public delegate void Miaowhandler(Object sender, MiaowEventArgs e);
//事件声明
public event Miaowhandler MiaowEvent;

private string MiaowStr = string.Empty;
//自定义参数信息
public class MiaowEventArgs : EventArgs
{
public readonly string MiaowStr;
public MiaowEventArgs(string miaowStr)
{
this.MiaowStr = miaowStr;
}
}
//猫叫
public void Miaow()
{
this.MiaowStr = "瞄瞄瞄瞄瞄瞄~~~~";
Console.WriteLine(this.MiaowStr);
}

public void OnMiaow(MiaowEventArgs e)
{
if (MiaowEvent != null)
MiaowEvent(this, e);
}

public void MakeMiaow()
{
this.MiaowStr = "猫睡着了";
Console.WriteLine(MiaowStr);
Thread.Sleep(2000);
this.MiaowStr = "猫醒了";
Console.WriteLine("猫醒了");
Thread.Sleep(500);
Miaow();
Thread.Sleep(1000);
MiaowEventArgs e =new MiaowEventArgs(this.MiaowStr);
OnMiaow(e);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: