事件不能被继承???
各位老大,事件无法被继承吗? 下面的代码无法实现啊,咋办呢
using System
namespace ConsoleApp
{
public delegate void MessageArriveDelegate(string name,System.DateTime time, string msg);
public class EventServer
{
public event MessageArriveDelegate msgArrive;
public virtual void EventTest()
{
msgArrive("server",new DateTime(2003,12,12),"nihao");
}
}
public class EventServerChildrenA : EventServer
{
public override void EventTest()
{
msgArrive("child A",new DateTime(2003,12,12),"nihao");
}
}
public class EventServerChildrenB : EventServer
{
public override void EventTest()
{
msgArrive("child B",new DateTime(2003,12,12),"nihao");
}
}
public class EventClient
{
public EventServer eventSource = new EventServerChildrenA() ;
public EventClient()
{
eventSource.msgArrive += new MessageArriveDelegate(OnMsgArrive);
}
public void EventHandleTest()
{
eventSource.EventTest();
}
public void OnMsgArrive(string name,System.DateTime time,string msg)
{
Console.WriteLine(name + msg);
}
}
class clsMain
{
[STAThread]
static void Main(string[] args)
{
EventClient myTest = new EventClient()
myTest.EventHandleTest();
}
}
}