观察者与委托

观察者模式与委托,事件
加上event只能类里面触发,不能再类的外部触发。
不加event都能触发.
示例:

/// <summary>
/// 被观察者类
/// </summary>
public class Cat
{
private string CatName;
public Cat (string CatName)
{
this.CatName = CatName;
}
public void CatComing()
{
Console.WriteLine (CatName+"说:我回来了");
if (Catcome!=null) {
Catcome ();
}
}
public event Action Catcome=null;
}


/// <summary>
/// 观察者类
/// </summary>
public class Mouse
{
private string MouseName;


public Mouse (string MouseName,Cat cat)
{
this.MouseName = MouseName;
cat.Catcome += this.RunAway;
}
public void RunAway()
{
Console.WriteLine (MouseName+"说:锤子回来了快跑");
}
}


/// <summary>
/// 入口函数
/// </summary>
class MainClass
{
public static void Main (string[] args)
{
Cat c = new Cat ("锤子");
Mouse mouse1 = new Mouse ("阿文",c);
Mouse mouse2 = new Mouse ("小超",c);
c.CatComing ();
Console.ReadKey ();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值