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

event1+=newmyDelegate(某方法),这个等式是否能改为event1=event1+newmyDelegate(某方法),依据是a+=5,可以改为a=a+... event1+=new myDelegate(某方法),
这个等式是否能改为event1=event1+new myDelegate(某方法),
依据是a+=5,可以改为a=a+5.
展开
 我来答
liaoxw624
2008-08-18 · 超过26用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:71.4万
展开全部
不可以。
因为所有事件只重载了+=和-=这两种操作符,
其他操作符没有重载,也就不能适用.

而你说的a+=5,可以改为a=a+5
这是因为int型既重载了所有+和=运算符,也重载了+=重载了运算符.
所以两种用法都可以用,并且等价.
li_shengangel
推荐于2016-05-06 · TA获得超过140个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:148万
展开全部
这是委托与事件的知识;
委托与事件:委托是对函数的封装,可以当作给方法的特征指定一个名称。而事件则是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托对象用关键字delegate来声明,而事件是说在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。

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

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

故最终不能改成event1=event1+new myDelegate(某方法);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rightmin
2008-08-18 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1797万
展开全部
对这就是操作符重载的问题。

其实,在编程语言里面,+,-,*,/,+=等符号也是函数,只是样子特殊了点。而符号2端的量就是函数的参数。

函数重载的意思就是,函数名相同,参数不同。

+,=并没有事件这种参数,所以不能改成那样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
excel06
2008-08-18 · 超过12用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
liaoxw624 正解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式