给个例子参考参考:
class MyClass //带事件的类
{
int t;
public event MyEventHandler BeforeValueChange;
public int V
{
get { return t; }
set
{
if (BeforeValueChange != null)
{
MyEventArgs e = new MyEventArgs(t, value);
BeforeValueChange(this, e);
}
t = value;
}
}
public class MyEventArgs : EventArgs
{
int oldvalue;
int newvalue;
public int OldValue
{
get { return oldvalue; }
}
public int NewValue
{
get { return newvalue; }
}
public MyEventArgs(int o, int n)
{
oldvalue = o;
newvalue = n;
}
}
public delegate void MyEventHandler(object sender, MyEventArgs e);
}
调用:
MyClass m = new MyClass();
m.BeforeValueChange += new MyClass.MyEventHandler(m_BeforeValueChange);
m.V = 9;