日期:2014-05-19  浏览次数:21108 次

c#中的委托什么时候用到?它与事件有什么关系?请各位大虾指点迷津啊
c#中的委托什么时候用到?它与事件有什么关系?请各位大虾指点迷津啊

------解决方案--------------------
你可以自己顶一个事件参数类,然后在另一个需要添加事件的类中定义事件,下面是一个手写的非常简单的例子

事件参数类定义,有一个属性Data
public Class YourEventArgs:EventArgs
{
private int _data;
public YourEventArgs(int data)
{
_data=data;
}

public int Data
{
get
{
return _data;
}
}
}


定义一个含有事件的类
public class YourClass
{
public delegate void YourEventHandler(object sender,YourEventArgs e);

public event YourEventHandler OnYourEvent;

//某个会触发事件的方法
private void xxx{
………………………………………………………………
//到了该触发事件的时候
int dd=5; //这个5就是触发事件的时候传出去的值
OnYourEvent(this,new YourEventArgs(5)
………………………………………………………………
}

}


调用这个类
YourClass yc=new YourClass();
yc.OnYourEvent+=YourClass.YourEventHandler(yc_OnYourEvent);

private void yc_OnYourEvent(object sender,YourEventArgs:EventArgs e)
{
MessageBox.Show(e.Data.ToString());
}