Creating an event. : delegate event « delegate « C# / CSharp Tutorial






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;

    }
}








9.8.delegate event
9.8.1.Creating a new event.
9.8.2.delegate and event
9.8.3.A very simple event demonstration.
9.8.4.An event multicast demonstration
9.8.5.Individual objects receive notifications when instance event handlers are used
9.8.6.A static method is used as an event handler
9.8.7.Creating an event.
9.8.8.Retrieving Even-Numbered Events with the .NET Delegate Convention
9.8.9.Retrieving Even-Numbered Events
9.8.10.Advanced Event
9.8.11.Using The Event Keyword
9.8.12.delegate and Event handler