SendInfoTo(NetState, bool, bool)' 返回 void,return 关键字后不得跟对象表达式



对于那些知道自己在做什么的人来说,这可能是最简单的解决方案。对我来说,一个因为还在学习基础知识而不知道的人;我对此感到困惑。我来到这个网站是为了进一步学习C#,因为我在谷歌上搜索的每一个错误都会把我带到这里。不管怎样,以下是我的几行导致错误的内容以及错误本身。

代码

public override void SendInfoTo(NetState state, bool sendOplPacket)
{
if (state.Mobile != null && ((m_Placer != null && state.Mobile.Serial.Equals(m_Placer.Serial)) || state.Mobile.AccessLevel >= AccessLevel.Administrator))
SendInfoTo(state, sendOplPacket, false);
}
void SendInfoTo(NetState state, bool sendOplPacket, bool doChecks)
{
if (doChecks)
{
if (state.Mobile == null ||
((m_Placer == null || !state.Mobile.Serial.Equals(m_Placer.Serial)) &&
state.Mobile.AccessLevel < AccessLevel.Administrator))
return false;
}

错误

自'基本事实陷阱。SendInfoTo(NetState,bool,bool('返回void,return关键字后面不能跟对象表达式

错误来自";return false"代码末尾的行。非常感谢任何帮助或指导。

提前谢谢。

您的方法SendInfoTo被声明为void。这意味着它不能返回任何值。

但您正试图返回false。这是不可能的,因此出现了错误。

必须使用return语句声明该方法。例如

bool SendInfoTo(NetState state, bool sendOplPacket, bool doChecks)
{
...
}

或者什么都不回。

但是你应该用这个返回值做点什么

最新更新