/* * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: */ using System; namespace Client.Chapter_8___Delegates_and_Events { public delegate int MyDelegateEventHandler(MyEventArgs e); public class MyEventSubscriber { static void Main(string[] args) { MyEventPublisher EventPublisher = new MyEventPublisher(); MyEventArgs MyArgs = new MyEventArgs(); MyArgs.MyString = "Hello World"; EventPublisher.MyEvent += new MyDelegateEventHandler(MyHandler); EventPublisher.DoSomething(MyArgs); } static int MyHandler(MyEventArgs e) { Console.WriteLine(e.MyString); return 0; } } public class MyEventArgs: EventArgs { public int MyInt; public long MyLong; public string MyString; } public class MyEventPublisher { public event MyDelegateEventHandler MyEvent; public int DoSomething(MyEventArgs e) { MyEvent(e); return 0; } } }