vent andler-问个 this.Invoke((EventHandler) delegate{/*委托内容*/})

问题描述

问个 this.Invoke((EventHandler) delegate{/*委托内容*/})

这句话是卸载我看MSDN介绍说:EventHandler是表示将处理不包含事件数据的事件的方法,但我这里的委托内容是将获取的参数转为另一个参数,生成数据了。和EventHandler的官方说法矛盾啊?刚查了下,SerialDataReceivedEventArgs用于传递数据,但还是不理解this.Invoke((EventHandler) delegate{/*委托内容*/}) 这句话为什么可以用?delegate是委托。

解决方案

EventHandler 委托的签名是
public delegate void EventHandler(Object sender, EventArgs e);
其中第二个参数是EventArgs表示包含事件数据的类的基类,并提供要用于不包含事件数据的事件的值。只有一个Empty字段。

EventHandler 是一个预定义的委托,专用于表示不生成数据的事件的事件处理程序方法。

**如果事件生成数据,则必须提供自己的自定义事件数据类型,并且必须要么创建一个委托,其中第二个参数的类型为自定义类型,
要么使用泛型 EventHandler 委托类并用自定义类型替代泛型类型参数。
**

因为你上面的代码看,你好像不是使用EventHandler这样的泛型委托,所以检查一下你使用的是自定义委托,而并不是EventHandler。

时间: 2024-11-03 13:24:26

vent andler-问个 this.Invoke((EventHandler) delegate{/*委托内容*/})的相关文章

面试中可能会被问到的几个关于“委托”的问题

这几天比较清闲,刚好前段时间买了本CLR Via C#,在.Net界大家都知道Jeffrey大师的这本经典著作,惭愧一直没有拜读. 不过在C#著作中经典的非常多.读书的那时候就是通过<C#与.NET 3.0高级程序设计>这本书接触C#的,也被称为C#圣经. CLR Via C#中的委托说的非常好,比较深入,让人耳目一新,回味无穷的感觉,看这本书的时候一定要记得带上ILDasm和 Reflector,有了他们就可以让我们更加深入的看一些问题,读书的方式有很多种,提问式的,提炼式的,因为任何东西都

服务器-普元EOS项目部署出现什么IP跟端口冲突问题,求问大神们解决,具体内容点进来

问题描述 普元EOS项目部署出现什么IP跟端口冲突问题,求问大神们解决,具体内容点进来 我有两个项目,在EOS上,还没第二个项目时我能部署,并能运行起来,但是就在我创建第二个项目的时候,就出现一个问题了.说是IP跟端口什么有冲突,!!!!然后我在服务器属性上改了端口,却出现这样的错!!求问大神们怎么解决啊 解决方案 8080端口已经被占用,你可以把冲突的程序关掉或者换一个端口

c-请问匹配最后一个空格后的内容的正则表达式怎么写?

问题描述 请问匹配最后一个空格后的内容的正则表达式怎么写? 请问匹配最后一个空格后的内容的正则怎么写? 或者说匹配最后一个空格前的内容的也可以. 我自己试了几种都没有用. 还有s 的话,到底能不能匹配到中文的空格呢? 解决方案 直接用空格split下取最后一项不就好了,干嘛用正则? var s = 'abcdef afefe xxef afef1111'; //split var arr = s.split(' '); alert(arr[arr.length - 1]); //正则 var m

类 c#错误 应输入class、delegate、enum···等等 老师随机分的题 根本没学

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO.Ports;namespace串口助手{publicpartialclassForm1:Form{SerialPortsp=

WPF 中INVOKE如何使用啊,C#转到WPF不对~求助

问题描述 voidcomm_DataReceived(objectsender,SerialDataReceivedEventArgse){intn=comm.BytesToRead;//先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致byte[]buf=newbyte[n];//声明一个临时数组存储当前来的串口数据received_count+=n;//增加接收计数comm.Read(buf,0,n);//读取缓冲数据builder.Clear();//清除字符串构造器的内

串口数据传输-为什么调用不了串口的接收函数呢 只能发送 不能接收? 本人菜鸟,求指点

问题描述 为什么调用不了串口的接收函数呢 只能发送 不能接收? 本人菜鸟,求指点 public partial class Form1 : Form { //SerialPort sp1 = new SerialPort();//声明一个串口类 bool isOpen = false;//打开串口标志位 bool isSetProperty = false;//属性设置标志位 bool isHex = false;//十六进制显示标志位 public Form1() { //sp1.DataRe

TCP 异步传输数据 接收端数据包混乱

问题描述 用TCP异步接收数据,接收到的数据包出现数据重叠的情况,请问这是为什么?举例:发送:10121314151617181911121314151617181901接收:101213141516171415161718191112131121314151617181901实际通信的数据包大概有2k-3k,上面的例子只是想说明一下情况.请各位大神帮忙解决一下! 解决方案 解决方案二:确定包头包尾呢??解决方案三:引用1楼SomethingJack的回复: 确定包头包尾呢?? 确定了包头包尾了

c#用serialport读取串口问题,紧急求教(高分)

问题描述 有人能帮忙解决下吗?下边是一部分代码privateint[]pl=newint[3];privatevoidserialPort1_DataReceived(objectsender,SerialDataReceivedEventArgse){intbytes=0;bytes=serialPort1.BytesToRead;//读取串口中的数据if(bytes>0){Flag=1;//标志位byte[]buffer=newbyte[bytes];//转换成数组serialPort1.R

C#上位机串口接收数组问题

问题描述 C#上位机从设备接收一个数组,数组长度是14的倍数,想每7个字节写入listbox的一行直到写完停止.咋整都不成功,跨线程调用窗体啊啥的都试了.说明:上位机已经接收到数组了,messagebox可以显示接收到的数组的长度,但是就是显示不到listbox中,累死了,求助大神. 解决方案 解决方案二:接收方式为串口接收解决方案三:万能的CSDN,解决了.谢谢各位System.Threading.Thread.Sleep(1000);intl=serialPort1.BytesToRead;