我有一个只有两个方法的简单类:
public class SomeType
{
public string DoWork()
{
Working();
}
public string Working()
{
return "some string";
}
}
当我尝试构建时,出现错误:'SomeType.DoWork()':并非所有代码路径都返回值'。
我知道DoWork方法应该返回字符串类型,但是我将方法称为Working,它返回字符串,那么为什么会出现这种情况?
答案 0 :(得分:5)
您需要return
函数中的字符串值DoWork
。
此代码仅执行Working
函数,但未从DoWork
函数返回字符串值。
public string DoWork()
{
Working();
}
因此您可能会从DoWork
函数返回一个值,因为DoWork
方法签名必须返回一个字符串值。
public class SomeType
{
public string DoWork()
{
return Working();
}
public string Working()
{
return "some string";
}
}
答案 1 :(得分:2)
方法Working()
将字符串返回到方法DoWork()
。但是DoWork()
不返回任何内容。可能您想使用return Working();
您可以捕获返回值,使用它修改/处理/执行某些操作,然后需要返回其他内容。
否则,如果您不想从签名中返回任何内容,则可以将签名更改为public void DoWork()
。
但是这些都是编程的基础。