Mega Code Archive

 
Categories / C# Tutorial / Delegate
 

Creating an event

using System; public delegate void AgeChangeHandler(int age, object obj,         ref bool dontdoit); class Employee {     public event AgeChangeHandler AgeChange;     int fAge;     public int Age {         set {             Boolean dontdoit = false;             AgeChange(value, this, ref dontdoit);             if (!dontdoit)                 fAge = value;         }         get {             return fAge;         }     }     public Employee() {         fAge = 0;     } } class MainClass {     private static void MyAgeChangeHandler(int age, object obj,           ref bool dontdoit) {         Console.WriteLine(            "MyAgeChangeHandler called with age {0} obj.age = {1}",               age, ((Employee)obj).Age);         if (age < 0 || age > 99)             dontdoit = true;     }     public static void Main() {         Employee p = new Employee();         // Set up our handler         p.AgeChange += new AgeChangeHandler(MyAgeChangeHandler);         p.Age = 21;         p.Age = 33;     } }