//Numbers.cs
using System;
public delegate int intDel();
public class Numbers
{
public event intDel NegativeNumber;
public event intDel GreaterThanHundered;
public event intDel ValueChanged;
int _x =0;
public int X{
get{
return _x;
}
set{
if (value==0)
return;
_x+=value;
ValueChanged();
if (_x<0)
NegativeNumber() ;
if(_x>100)
GreaterThanHundered();
}
}
}
Next u hav Sample class
//Sample.cs
using System;
public class sample
{
Numbers obj;
intDel d;
public static void Main(string[] args) {
sample s=new sample();
s.obj=new Numbers();
s.obj.GreaterThanHundered+=new intDel(s.maxNumber );
s.obj.NegativeNumber+=new intDel(s.negativeNumber );
s.d=new intDel(s.change );
s.obj.ValueChanged+=s.d;
s.obj.ValueChanged+=new intDel(s.Log);
Console.WriteLine(s.obj.X.ToString());
s.obj.X=Convert.ToInt32(args[0]);
Console.WriteLine("***********");
s.obj.X=(Convert.ToInt32(args[0])*100);
}
private int maxNumber(){
Console.WriteLine("Value > 100");
return 0;
}
private int negativeNumber(){
Console.WriteLine("Value <>
return 0;
}
private int change(){
Console.WriteLine("value Changed : "+ obj.X.ToString());
obj.ValueChanged-=this.d;
return 0;
}
private int Log(){
Console.WriteLine("value Logged : "+ obj.X.ToString());
return 0;
}
}