嗨,朋友们:
欢迎回来。
上回有提到+=, 也就是这么一个意思,A+=B等价转化A=A+B
那么以下这句就没这么简单了。
看图
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
我的问题如下:
1)针对这句,难道要理解成:serialPort1.DataReceived =serialPort1.DataReceived+ new SerialDataReceivedEventHandler(serialPort1_DataReceived)?
这说的过去吗?这让我觉得理解不了。
2)DataReceived 是事件对吧?
3)serialPort1_DataReceived?这是什么,加了个下划线—有什么特别的含义吗?很少见加下划线的,是SerialDataReceivedEventHandler的参数吗?
4)SerialDataReceivedEventHandler这句话是什么意思?可以详细解释下吗?
5)整句话到底要怎么理解?不会是委托吧?连个delegata 都没见到,称不上委托吧?
6) serialPort 这个组件,关于DataReceivd,有很多格式,比如,serialPort.DataReceived
serialPortDataReceived 和 serialPort_DataReceived 这3种写法,唉,都是什么意思呢?
运算符重载学了没?
学了
你一项项的给我解释下吧
@绿绿山水:
1.既然学了运算符重载为什么还会有这个问题?
2.看不懂.你按F12看他定义不就知道是不是了?
3.他爱怎么起名字都可以.不要问这种为什么中国叫中国不叫美国的问题
4.哪句话?从哪方面解释?
5.往一个事件里添加一个事件处理,你的判断方法都是有问题.所以判断结果自然就是错的.然后你以错误的判断结果为条件去解释你看到的东西.自然也全是错的.
6.和3一样.有兴趣搞清楚这些你按f12找他的定义.
坏话就不说了.你自己体会吧.
@吴瑞祥: 这位同学骄傲地告诉我——他是从大学读到小学,具备极强逆向的同学~
@吴瑞祥: 你让我买的这本书里一是没有serialPOrt,二是没有运算符重载,三是没有这句话的意思,你还好意思这么说,说了一大堆话,没有一句有用的。
@绿绿山水: 1.书是语法书.你这个serialPOrt是啥我都不知道
2.书里是有运算符重载的
3.意思是要有一本书能给你解释所有你以为的问题?
书的作者不照着你的思路走.就是这本书不行?
我确实没有一句话是有用的.因为只要你继续这样想.那除了找个人在边上 一个键一个键的帮你敲键盘.没有其他法子对你来说是对的.
我劝过很多次:学而不思则罔,死而不学则殆.你的问题是不学.然后拼命的用自己那少的可怜的知识去想.能想出什么? 就说第一个:你既然学了运算符重载了.为什么还会问第一个问题?如果你的思路没问题会这样吗?
@吴瑞祥: 扯这么多没有用,你就解释下第一句话是什么意思得了。其他的你不用管了。
@花飘水流兮: 回答问题
事件的绑定底层是运算符重载实现的吗?
@吴瑞祥: 谢谢你。但是我还是希望能解决问题,少一点批评,多一点对问题的解释,我学这个很艰辛,以后熟悉了,就不会问这么简单的问题了。
@吴瑞祥: 最后给你的回答一个点赞。
第一句话 是绑定事件
整句话的解释是:
serialPort1.DataReceived是一个事件
serialPort1_DataReceived是上面事件的处理函数
SerialDataReceivedEventHandler是事件处理的delegate
+=代表把事件绑定到处理函数上,也有称订阅之类的
事件=消息+绑定方法,大体就是这样,供你参考
我已经为你点赞了,谢谢你的回答,支持你!
@绿绿山水: 不客气,你看书很仔细,加油!
@冰冻千尺: 还有一个new? +=代表的是绑定,订阅,那为什么还会有个new?new在这里是干嘛用的 ?
1 serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);