委托模式的应用
2009-09-07 10:08
267 查看
public class Manage
{
//声明委托
public delegate void EventHandler(string a);
//声明事件
public event EventHandler Change;
public void RaiseEvent(string a)
{
Change(a);
}
}
public class Action
{
public static void doA()
{
Console.WriteLine("doA");
}
public static void doB()
{
Console.WriteLine("doB");
}
public static void doC()
{
Console.WriteLine("doC");
}
}
static void Main(string[] args)
{
Manage m = new Manage();
//注册事件
m.Change += new Manage.EventHandler(m_Change);
Action.doA();
//当调用doA()方法时,触发事件,通知doA()方法被调用
m.RaiseEvent("doA");
//触发事件时的具体操作
static void m_Change(string a)
{
switch(a)
{
case "doA":
break;
case "doB":
break;
case "doC":
break;
default:
break;
}
}
}
{
//声明委托
public delegate void EventHandler(string a);
//声明事件
public event EventHandler Change;
public void RaiseEvent(string a)
{
Change(a);
}
}
public class Action
{
public static void doA()
{
Console.WriteLine("doA");
}
public static void doB()
{
Console.WriteLine("doB");
}
public static void doC()
{
Console.WriteLine("doC");
}
}
static void Main(string[] args)
{
Manage m = new Manage();
//注册事件
m.Change += new Manage.EventHandler(m_Change);
Action.doA();
//当调用doA()方法时,触发事件,通知doA()方法被调用
m.RaiseEvent("doA");
//触发事件时的具体操作
static void m_Change(string a)
{
switch(a)
{
case "doA":
break;
case "doB":
break;
case "doC":
break;
default:
break;
}
}
}
相关文章推荐
- 热水器的委托应用与Observer设计模式
- 设计模式:委托模式Delegation Pattern在MVC中的应用
- J2EE业务层模式:服务门面,应用服务,以及业务委托,服务定位器
- J2EE业务层模式:服务门面,应用服务,以及业务委托,服务定位器
- C#中委托和事件在观察者模式中的应用实例
- Unity-----关于委托、事件与泛型单例模式的应用
- 13委托和事件在观察者模式中的应用
- Chromium源码浅析---委托模式(Delegate Pattern)在Chromium中的应用
- 委托的应用之二:使用多播委托编码Observer模式。以及事件的引入
- Enterprise Library深入解析与灵活应用(3):倘若将Unity、PIAB、Exception Handling引入MVP模式.. .. ..
- protocol的基本使用与代理设计模式的应用
- 设计模式:事件委托
- Cocosd-x设计模式之九 :委托和委托设计模式
- 文本检索模式的学习过程与应用
- 单例设计模式的应用场景
- 原型模式应用——展现每日生活
- 反应堆模式(二):非阻塞式IO应用
- 为应用加上Android4.4新特性的全屏模式-沉浸模式(Full-screen Immersive Mode)
- MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用
- 五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O