C#事件显示这个错是什么原因

weixin_37810640 2017-04-20 04:50:10





错误是这个:/Users/student/Projects/C#workspace/Event/Event/Program.cs(32,32): Error CS0070: The event `Event.Program.eMath' can only appear on the left hand side of += or -= when used outside of the type `Event.Program' (CS0070) (Event)
...全文
212 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_37810640 2017-04-22
  • 打赏
  • 举报
回复
引用 2 楼 angel6709 的回复:
event只能+=操作,不能赋值操作
恩恩,谢谢
weixin_37810640 2017-04-22
  • 打赏
  • 举报
回复
引用 4 楼 tanta 的回复:
event怎么打印?
谢谢,问题解决啦,要通过类内部函数类触发这个事件
weixin_37810640 2017-04-22
  • 打赏
  • 举报
回复
引用 3 楼 stherix 的回复:
在定义事件的类外部是不能直接引用这个事件的.只能通过+=和-=为其增加和移除事件处理方法 所以你这是错误的事件用法 在Program类里应该增加一个方法 比如
public void Invoke_eMath(int i)
{
    if (eMath!=null)
       eMath(i);
}
外部通过p.Invoke_eMath(10);通过这个来调用这个事件
Thank You,我今天才看到,要是早点看到就好啦,虽然我敲代码敲出来啦,也知道是咋的一回事啦,但还是大神总结的好。
stherix 2017-04-20
  • 打赏
  • 举报
回复
在定义事件的类外部是不能直接引用这个事件的.只能通过+=和-=为其增加和移除事件处理方法 所以你这是错误的事件用法 在Program类里应该增加一个方法 比如
public void Invoke_eMath(int i)
{
    if (eMath!=null)
       eMath(i);
}
外部通过p.Invoke_eMath(10);通过这个来调用这个事件
angel6709 2017-04-20
  • 打赏
  • 举报
回复
event只能+=操作,不能赋值操作
angel6709 2017-04-20
  • 打赏
  • 举报
回复
event 只可以在event的src触发,不能在target处触发。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧