事件的参数问题
public delegate void DataArrivedEeventHandler(object sender, DataArivedEventArgs e);
public event DataSendedEeventHandler DataSended;
DataSended(DataSended, new DataSendedEventArgs(NeedSendData.ToArray(), endPoint));
为什么事件本身 DataSended可以当参数呢 有什么作用呢 --------------------编程问答-------------------- 在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。 --------------------编程问答-------------------- object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event --------------------编程问答-------------------- +1 --------------------编程问答-------------------- 你可以把你的事件处理方法贴出来给大家观摩一下,也就是DataSended事件对应的那个方法。看看到底是怎么用这个参数的。 --------------------编程问答--------------------
这个是事件的处理方法。
netUDPSorcket.DataArrived += new UDPSorcket.DataArrivedEeventHandler(netUDPSorcket_DataArrived);--------------------编程问答--------------------
internal void netUDPSorcket_DataArrived(object sender, DataArivedEventArgs e)
{
if (OnMSGArrived != null)
{
OnMSGArrived(e.Data, e.SvrEndPoint);
}
}
贴错了 不过是一样的 这个是数据到达的处理 方式一样 这么说好像参数没什么用 --------------------编程问答--------------------
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗 --------------------编程问答--------------------
不一样.如果用this的话,在事件处理时,可以知道这个是在那对像发激发的,如果多个对像的事件都是通过同一个函数处理的话,就很有必要传this进来 --------------------编程问答--------------------
在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗 object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event
不一样.如果用this的话,在事件处理时,可以知道这个是在那对像发激发的,如果多个对像的事件都是通过同一个函数处理的话,就很有必要传this进来
知道了 3Q 那再问下事件的本身作为参数,有什么作用呢
在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗 object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event
不一样.如果用this的话,在事件处理时,可以知道这个是在那对像发激发的,如果多个对像的事件都是通过同一个函数处理的话,就很有必要传this进来
如果对应的是sender,又没有用到。那就无所谓了,没什么用处,也没什么影响。
补充:.NET技术 , C#