using System;
namespace ConsoleApplication1
{
public delegate void MyDelegate();
public interface IEvent
{
event MyDelegate MyEvent;
void FireAway();
}
public class MyEventClass:IEvent
{
public event MyDelegate MyEvent;
public void FireAway()
{
if(MyEvent!=null)
MyEvent();
else
Console.WriteLine("MyEvent failed! ");
}
}
public class MainClass
{
static private void eventTest_A()
{
Console.WriteLine("call: eventTest_A ");
return;
}
static private void eventTest_B()
{
Console.WriteLine("call: eventTest_B ");
Console.ReadLine();
return;
}
static public void Main()
{
/*
* 可以使用接口定义!
IEvent iMy;
iMy=new MyEventClass();
iMy.FireAway();
iMy.MyEvent +=new MyDelegate(f);
iMy.MyEvent +=new MyDelegate(fl);
iMy.FireAway();
*/
MyEventClass myEvent=new MyEventClass();
myEvent.FireAway();
myEvent.MyEvent +=new MyDelegate(eventTest_A);
myEvent.MyEvent +=new MyDelegate(eventTest_B);
myEvent.FireAway();
}
}
}
namespace ConsoleApplication1
{
public delegate void MyDelegate();
public interface IEvent
{
event MyDelegate MyEvent;
void FireAway();
}
public class MyEventClass:IEvent
{
public event MyDelegate MyEvent;
public void FireAway()
{
if(MyEvent!=null)
MyEvent();
else
Console.WriteLine("MyEvent failed! ");
}
}
public class MainClass
{
static private void eventTest_A()
{
Console.WriteLine("call: eventTest_A ");
return;
}
static private void eventTest_B()
{
Console.WriteLine("call: eventTest_B ");
Console.ReadLine();
return;
}
static public void Main()
{
/*
* 可以使用接口定义!
IEvent iMy;
iMy=new MyEventClass();
iMy.FireAway();
iMy.MyEvent +=new MyDelegate(f);
iMy.MyEvent +=new MyDelegate(fl);
iMy.FireAway();
*/
MyEventClass myEvent=new MyEventClass();
myEvent.FireAway();
myEvent.MyEvent +=new MyDelegate(eventTest_A);
myEvent.MyEvent +=new MyDelegate(eventTest_B);
myEvent.FireAway();
}
}
}