Revision: 1687
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 9, 2006 13:05 by rengber
Initial Code
//Define a custom EventArgs class to contain your data. public class MyEventArgs : EventArgs { public string info = "data"; } //Declare the event as visible to users of the class public event EventHandler<MyEventArgs> MyEvent; //Send the event, note that this will throw a nullref if there are no subscribers //Internal version prevents outsiders from needing to know about the contents of MyEventArgs protected virtual void InternalSendMyEvent(CustomEventArgs e) { if(MyEvent != null) { e.info = "Hello Events!"; //This calls all registered subscribers with the following parameters. MyEvent(this, e); } } //Public version to allow outsiders to trigger the event, not typical implementation. public void CreateEvent() { InternalSendMyEvent(new MyEventArgs()); } //Consumer //Register the Handler eventRaiser.MyEvent += new EventHandler<CustomEventArgs>(HandleEvent); //Define the Handler private void HandleEvent(object sender, MyEventArgs e) { MessageBox.Show("Event handled:" + e.info); } //Cause the Event eventRaiser.CreateEvent();
Initial URL
http://msdnwiki.microsoft.com/en-us/mtpswiki/402101b6-555d-4cf7-b223-1d9fdfaaf1cd.aspx
Initial Description
Annotated version of the Microsoft/GotDotNet demo from the MSDN Wiki.
Initial Title
Generic Based Event Handling Demo for VS.Net 2005
Initial Tags
event
Initial Language
C#