日期:2014-05-18 浏览次数:21150 次
public class MyEventArgs : EventArgs { private int age; private string name; private bool sex; public MyEventArgs (int age) { this.age=age; } public MyEventArgs (string name) {this.name=name;} public MyEventArgs (bool sex) {this.sex=sex;} public int Age { get{return this.age;}} public string Name { get { return this.name; } } public bool Sex { get{return this.sex;} } } //你在访问的时候直接用不用的参数, //委托定义为 public delegate void MyEventHandler(object sender, MyEventArgs e); //事件定义为 public event MyEventHandler MyChanged;//定义一个ColorChanged事件 protected virtual void MyChanged(MyEventArgs e) {//事件触发方法 if (MyChanged!= null) {//判断事件是否为空 MyChanged(this, e);//触发事件 } } //使用应该会的吧 int i=1;string a="test"; bool flag=false; MyChanged(new MyEventArgs(i)); MyChanged(new MyEventArgs(a)); MyChanged(new MyEventArgs(flag));
------解决方案--------------------
就是一楼那样了
protected virtual void MyChanged(MyEventArgs e) {//事件触发方法 if (MyChanged!= null) {//判断事件是否为空 MyChanged(this, e);//触发事件 } } //使用应该会的吧 int i=1;string a="test"; bool flag=false; MyChanged(new MyEventArgs(i)); MyChanged(new MyEventArgs(a)); MyChanged(new MyEventArgs(flag));