摘要:EventHandler筆記
class Program
{
static void Main(string[] args)
{
HasEvent he = new HasEvent();
he.SampleEvent +=
new EventHandler<MyMessageArgs>(SampleEventHandler);
he.DemoEvent("Hey there, Bruce!");
he.DemoEvent("How are you today?");
he.DemoEvent("I'm pretty good.");
he.DemoEvent("Thanks for asking!");
}
private static void SampleEventHandler(object src, MyMessageArgs mea)
{
Console.WriteLine(mea.msg);
}
}
public class MyMessageArgs:EventArgs
{
public string msg { get; set; }
public MyMessageArgs(string message) { msg = message; }
}
public class HasEvent
{
public event EventHandler<MyMessageArgs> SampleEvent;
public void DemoEvent(string val)
{
// Copy to a temporary variable to be thread-safe.
EventHandler<MyMessageArgs> temp = SampleEvent;
if (temp != null)
temp(this, new MyMessageArgs(val));
}
}