Table of contents Home page
public class TempChangeArgs : EventArgs { public double temperature; } public class Thermometer { public event ThermometerEventHandler tempChanged; // Associate the event with the delegate public void changeTemp(double temperature) // Raise the event { TempChangeArgs e = new TempChangeArgs(); e.temperature = temperature; if (tempChanged != null) { tempChanged(this, e); } } public Thermometer(string name) { this.name = name; } public string name; } public class Program { public static void Main() { Thermometer thermometer1 = new Thermometer("T1"); thermometer1.tempChanged += new ThermometerEventHandler(onTempChange); // Subscribe to the event Thermometer thermometer2 = new Thermometer("T2"); thermometer2.tempChanged += new ThermometerEventHandler(onTempChange); // Subscribe to the event thermometer1.changeTemp(230.9); thermometer2.changeTemp(543.1); Console.ReadKey(); } // Event handler public static void onTempChange(Thermometer sender, TempChangeArgs e) { Console.WriteLine("{0} registers a temperature of {1} K.", sender.name, e.temperature); } }