观察者与委托
来源:互联网 发布:军团要塞知乎 编辑:程序博客网 时间:2024/05/17 23:22
观察者模式与委托,事件
加上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 ();
}
}
加上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 ();
}
}
0 0
- 委托与观察者
- 观察者模式与委托
- 观察者与委托
- 设计模式 之 观察者--委托与事件
- 观察者模式——委托与事件
- 设计模式-观察者模式与事件委托
- 如何使用委托与事件来实现观察者模式
- 观察者模式(Observer)——接口与委托实现
- C#中委托与事件以及观察者模式
- 设计模式之观察者模式与事件委托
- 设计模式之观察者模式与事件委托
- java观察者模式与时间委托机制l
- 观察者模式-猫捉老鼠(委托与事件)
- 转 侵立删 java观察者模式与事件委托
- 观察者模式,事件,委托
- 委托和观察者模式
- 观察者 (事件委托)
- 观察者模式和委托
- 3.6 JS日期函数 Date()
- U-Boot中关于TEXT_BASE,代码重定位,链接地址相关说明
- Row was updated or deleted by another transaction 异常原因及处理
- 2016年蓝桥杯决赛 奇怪的数列
- MFC getforeignground window
- 观察者与委托
- 胡语录5.12
- vanishing gradient problem
- LINUX批处理文件的编写
- 小程序开发系列之基础部分-开发工具
- App Store审核被拒:App Store Review Guideline 2.5.2 and section 3.3.2 of the Apple Developer Program
- STL关联容器之set
- ViewPager无限轮播自动播放
- Delphi中Chrome Chromium、Cef3学习笔记(六)