CSharp · Console
using System;
public class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
var num = new Number();
num.numberChanged +=(o,n) =>{ // o stands for old value and n stands for new value
Console.WriteLine("Value was changed from {0} to {1}",o,n);
};
num.Value=10; // this will let the numberChanged event to be fired
num.Value=100;
}
}
// this delegate was created to be used in passing the old and new value during event firing
public delegate void NumberChangedEvent(int oldValue,int newValue);
public class Number{
public event NumberChangedEvent numberChanged;
private int _value=0;
public int Value
{
get
{
return _value;
}
set
{
if(value!=_value)
{
int oldValue=_value; // store the value in order to pass it in the event
_value=value;
if(numberChanged!=null)
numberChanged(oldValue,_value);
}
}
}
}