using System;
public class EventTestClass {
private int nValue;
public delegate void ValueChangedEventHandler();
public event ValueChangedEventHandler Changed;
protected virtual void OnChanged() {
if (Changed != null)
Changed();
else
Console.WriteLine("Event fired. No handler!");
}
public EventTestClass(int nValue) {
SetValue(nValue);
}
public void SetValue(int nV) {
if (nValue != nV) {
nValue = nV;
OnChanged();
}
}
}
public class Mainclass {
public void HandleChange1() {
Console.WriteLine("Handler 1 Called");
}
public void HandleChange2() {
Console.WriteLine("Handler 2 Called");
}
public Mainclass() {
}
public static void Main() {
EventTestClass etc = new EventTestClass(3);
Mainclass app = new Mainclass();
etc.Changed += new EventTestClass.ValueChangedEventHandler(app.HandleChange1);
etc.Changed += new EventTestClass.ValueChangedEventHandler(app.HandleChange2);
etc.SetValue(5);
etc.SetValue(5);
etc.SetValue(3);
}
}
|