using System;
using System.Collections.Generic;
using System.Text;namespace CatMouse
{
class MainClass
{
static void Main(string[] args)
{
Cat cat = new Cat("cat1");
Master ma = new Master("ivan");
Mouse ms = new Mouse("jerry");
cat.Cry += new Cat.CryEventHandler(ms.Response); //为事件添加事件处理程序
cat.Cry += new Cat.CryEventHandler(ma.Response);
cat.OnCry(); //猫叫
}
}
class Cat
{
public delegate void CryEventHandler(object o, EventArgs e); //声明Delegate
public event CryEventHandler Cry; //定义Event
private string m_name;
public Cat(string name)
{
m_name = name;
}
public void OnCry()
{
if (Cry != null)
{
Cry(this, EventArgs.Empty); //触发事件
}
}
}
public class Master
{
private string m_name;
public Master(string name)
{
m_name = name;
}
public void Response(object o, EventArgs e)
{
Console.WriteLine(m_name + "wake up");
}
}
public class Mouse
{
private string m_name;
public Mouse(string name)
{
m_name = name;
}
public void Response(object o, EventArgs e)
{
Console.WriteLine(m_name + "flee away");
}
}}
委托,事件(猫,鼠,人联动事类)
原创
©著作权归作者所有:来自51CTO博客作者jack2022的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
接口(猫,鼠,人联动事类) 观察者模式
erver{ public interface Observer { void Response(); //观察者的响应,如是老鼠
interface class string 应用程序
















