using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public delegate void SomeEvent( object sender, EventArgs e );
class Button
{
public event SomeEvent EventRecieved;
public void FireClick()
{
if ( EventRecieved != null )
EventRecieved( this, EventArgs.Empty );
}
}
class Program
{
static void Main( string[] args )
{
Button b = new Button();
b.EventRecieved += new SomeEvent( ImageHandler.HandleImageChange );
b.FireClick(); // again, can be called, e.g., from UI thread
}
}
public class ImageHandler
{
public static void HandleImageChange(object sender, EventArgs e )
{
Console.WriteLine( "changed" );
}
}
}