Revision: 10069
Updated Code
at January 20, 2010 13:06 by pckujawa
Updated Code
using System;
namespace testConsole
{
class Program
{
static void Main(string[] args)
{
Test myTest = new Test();
// Add event handler to the event
myTest.TestEvent += new EventHandler(myTest_TestEvent);
myTest.fireEvent();
Console.ReadLine(); // Keep console window open
}
static void myTest_TestEvent(object sender, EventArgs e)
{
if (e is TestEventArgs)
{
TestEventArgs data = e as TestEventArgs;
Console.WriteLine(data.Message);
}
}
}
class Test
{
public event EventHandler TestEvent;
public Test()
{
}
public void fireEvent()
{
// Always check if the EventHandler is null (no subscribers)
var handler = TestEvent;
if (handler != null)
{
handler(this, new TestEventArgs("Event Fired"));
}
}
}
class TestEventArgs : EventArgs
{
public string Message { get; private set; }
public TestEventArgs(string message)
{
this.Message = message;
}
}
}
Revision: 10068
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 5, 2008 14:12 by pckujawa
Initial Code
using System;
namespace testConsole
{
class Program
{
static void Main(string[] args)
{
Test myTest = new Test();
// Add event handler to the event
myTest.TestEvent += new EventHandler(myTest_TestEvent);
myTest.fireEvent();
Console.ReadLine(); // Keep console window open
}
static void myTest_TestEvent(object sender, EventArgs e)
{
if (e is TestEventArgs)
{
TestEventArgs data = e as TestEventArgs;
Console.WriteLine(data.Message);
}
}
}
class Test
{
public event EventHandler TestEvent;
public Test()
{
}
public void fireEvent()
{
// Always check if the EventHandler is null (no subscribers)
if (TestEvent != null)
{
TestEvent(this, new TestEventArgs("Event Fired"));
}
}
}
class TestEventArgs : EventArgs
{
public string Message { get; private set; }
public TestEventArgs(string message)
{
this.Message = message;
}
}
}
Initial URL
Initial Description
See [Raise and Handle Events Generically](http://snipplr.com/view/15033/raise-and-handle-events-generically/) for a better way to use events (generically) and links to best practices in .NET events. This example should be used as a Console program and will simply write a line of text to the console. It shows how to create an event handler in a class, have that event handler fire an event with custom information, and how to subscribe to that event and use its data. I hope it is straightforward enough.
Initial Title
Example of subscribing to and firing events
Initial Tags
event
Initial Language
C#