您的位置:首页 > 其它

委托模式的应用

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;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: