永发信息网

C#问题--event1+=new myDelegate(某方法)

答案:4  悬赏:80  手机版
解决时间 2021-02-14 21:04
C#问题--event1+=new myDelegate(某方法)
最佳答案
这是委托与事件的知识;
委托与事件:委托是对函数的封装,可以当作给方法的特征指定一个名称。而事件则是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托对象用关键字delegate来声明,而事件是说在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。

这个操作是将 委托对象加到事件对象中;
当有委托对象执行时,会触发对应的事件发生;

与a+=5相比,虽然形式上类似,但是其意义是不一样的;
这里的“+=”是增加委托实例对象的意思,当然“-=”就是移除委托实例的意思
通俗点说就是 event1 这个事件在什么时候触发呢,只有执行了event1+=new myDelegate这条语句后,才有了执行事件的前提;将委托对象加到事件中;

故最终不能改成event1=event1+new myDelegate(某方法);
全部回答
liaoxw624 正解。
不可以。
因为所有事件只重载了+=和-=这两种操作符,
其他操作符没有重载,也就不能适用.
而你说的a+=5,可以改为a=a+5
这是因为int型既重载了所有+和=运算符,也重载了+=重载了运算符.
所以两种用法都可以用,并且等价.
对这就是操作符重载的问题。
其实,在编程语言里面,+,-,*,/,+=等符号也是函数,只是样子特殊了点。而符号2端的量就是函数的参数。
函数重载的意思就是,函数名相同,参数不同。
+,=并没有事件这种参数,所以不能改成那样。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
饮料能导电吗
万豪二手车(西大街店)地址好找么,我有些事要
蓝田瑶族乡地址有知道的么?有点事想过去
拉筋能长高吗,如何能长高
已知函数 y= 丨Sin x丨,求它的周期.
彩乐广告怎么去啊,有知道地址的么
福田车和江淮车哪个比较耐用
为什么感冒吃了饭后觉得吃不饱,还有点肚子疼
有谁知道威海文登金都旁边那个中国银行的详细
58岁左右老人买什么保险好
梁山泊地址在哪,我要去那里办事
车载GPS只能搜索到一颗星
俗话说农村的孩子早当家《四时田园杂兴》中写
河北省阜城县文化武术学校我想知道这个在什么
黑执事第三季马戏团的那些人的缺陷都是什么?
推荐资讯
湖洋小学(梅州平远)地址在哪,我要去那里办事
前几天在川西集市吃火锅,被邻桌一哥们差点没
现货青岛汇海开户怎么做
中国信合(海渤日戈镇)地址在什么地方,我要处
亚裴造型(双溪店)怎么去啊,我要去那办事
无为县世纪商行我想知道这个在什么地方
想要进行服务器的压力测试有什么软件推荐一下
家规帮我订个
【behind怎么读】behind怎么读
北京旗云户外用品店怎么去啊,我要去那办事
大台岭地址在哪,我要去那里办事
中风前兆有哪些症状
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?