class Dog
{
//1.声明关于事件的委托;
public delegate void AlarmEventHandler(object sender, EventArgs e);
//2.声明事件;
public event AlarmEventHandler Alarm;
//3.编写引发事件的函数;
public void OnAlarm()
{
if (this.Alarm != null)
{
Console.WriteLine("\n报警");
this.Alarm(this, new EventArgs());
}
}
}
//事件接收者
class Host
{
//4.编写事件处理程序
void HostHandleAlarm(object sender, EventArgs e)
{
Console.WriteLine("");
}
//5.注册事件处理程序
public Host(Dog dog)
{
dog.Alarm += new Dog.AlarmEventHandler(HostHandleAlarm);
}
}
public class TestEvent
{
public delegate void TestEventHandler(string str);
public event TestEventHandler TestDoEvent;
public TestEvent()
{
}
public void TestDo()
{
string str = "...";
if (TestDoEvent != null)
{
TestDoEvent(str);
}
}
}
public class PrintTest
{
private TestEvent ts;
public PrintTest()
{
ts = new TestEvent();
ts.TestDoEvent += new TestEvent.TestEventHandler(ts_TestDoEvent);
}