当前位置:编程学习 > C#/ASP.NET >>

事件的参数问题

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 楼 caozhy 的回复:
在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。
+1 --------------------编程问答-------------------- 你可以把你的事件处理方法贴出来给大家观摩一下,也就是DataSended事件对应的那个方法。看看到底是怎么用这个参数的。 --------------------编程问答--------------------
引用 4 楼 MicrosoftCenterOfHN 的回复:
你可以把你的事件处理方法贴出来给大家观摩一下,也就是DataSended事件对应的那个方法。看看到底是怎么用这个参数的。

这个是事件的处理方法。
netUDPSorcket.DataArrived += new UDPSorcket.DataArrivedEeventHandler(netUDPSorcket_DataArrived);
internal void netUDPSorcket_DataArrived(object sender, DataArivedEventArgs e)
        {

            if (OnMSGArrived != null)
            {
                OnMSGArrived(e.Data, e.SvrEndPoint);
            }
        }
--------------------编程问答--------------------
引用 4 楼 MicrosoftCenterOfHN 的回复:
你可以把你的事件处理方法贴出来给大家观摩一下,也就是DataSended事件对应的那个方法。看看到底是怎么用这个参数的。

贴错了 不过是一样的 这个是数据到达的处理 方式一样 这么说好像参数没什么用 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。


引用 2 楼 bdmh 的回复:
object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗 --------------------编程问答--------------------
引用 7 楼 kaishifenfa 的回复:
Quote: 引用 1 楼 caozhy 的回复:

在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。


引用 2 楼 bdmh 的回复:
object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗

不一样.如果用this的话,在事件处理时,可以知道这个是在那对像发激发的,如果多个对像的事件都是通过同一个函数处理的话,就很有必要传this进来 --------------------编程问答--------------------
引用 8 楼 WM_JAWIN 的回复:
Quote: 引用 7 楼 kaishifenfa 的回复:

Quote: 引用 1 楼 caozhy 的回复:

在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。


引用 2 楼 bdmh 的回复:
object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗

不一样.如果用this的话,在事件处理时,可以知道这个是在那对像发激发的,如果多个对像的事件都是通过同一个函数处理的话,就很有必要传this进来
知道了 3Q 那再问下事件的本身作为参数,有什么作用呢 --------------------编程问答--------------------
引用 9 楼 kaishifenfa 的回复:
Quote: 引用 8 楼 WM_JAWIN 的回复:

Quote: 引用 7 楼 kaishifenfa 的回复:

Quote: 引用 1 楼 caozhy 的回复:

在C#中一切东西都可以传给object类型,包括委托。
至于这么做有没有意义,就另当别论了。


引用 2 楼 bdmh 的回复:
object sender是object类型,可以接受方法,变量等各种类型,估计作者为了省事,通过sender来传递event
就是说如果下面用不到的话 这里用this和事件本身当参数是一样的效果呗

不一样.如果用this的话,在事件处理时,可以知道这个是在那对像发激发的,如果多个对像的事件都是通过同一个函数处理的话,就很有必要传this进来
知道了 3Q 那再问下事件的本身作为参数,有什么作用呢


如果对应的是sender,又没有用到。那就无所谓了,没什么用处,也没什么影响。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,