#]//谁能帮我把下面的代码改变串成一个console程序呢?谢谢。
[code=C
using System;
//谁能帮我把下面的代码改变串成一个console程序呢?谢谢。代码里面的代码可能不是像下面这样在一个类里面的哟。可能缺少一些代码,有挑战性的。
public delegate void TestEventDelegate(object sender, System.EventArgs e);
public class EventSource
{
public event TestEventDelegate TestEvent;
private void RaiseTestEvent()
{
//safely invoke an event
TestEventDelegate temp = TestEvent;
if (temp != null)
{
temp(this, new System.EventArgs());
}
}
}
public class EventReceiver
{
public void ReceiveTestEvent(object sender, System.EventArgs e)
{
System.Console.Write("event received from ");
System.Console.WriteLine(sender.ToString());
}
public void Subscribe(EventSource source)
{
TestEventDelegate temp = new TestEventDelegate(ReceiveTestEvent);
source.TestEvent += temp;
}
public void UnSubscribe(EventSource source)
{
TestEventDelegate temp = new TestEventDelegate(ReceiveTestEvent);
source.TestEvent -= Temp;
}
}
public class EventSource2
{
private TestEventDelegate TestEventHandlers;
public event TestEventDelegate TestEvent
{
add
{
lock (TestEventHandlers)
{
TestEventHandlers += value;
}
}
remove
{
lock (TestEventHandlers)
{
TestEventHandlers -= value;
}
}
}
private void RaiseTestEvent()
{
//safely invoke an event
TestEventDelegate temp = TestEventHandlers;
if (temp != null)
{
temp(this, new System.EventArgs());
}
}
}
[/code]