下面的代码示例将抛出“不是所有的路径都返回一个值”为什么用包含return语句的方法替换return语句是不可能的?
public static Validation Validate()
{
Validation invalid = new Validation()
InvalidResult(invalid); // why removing the return keyword is not possible??
}
public static Validation InvalidResult(Validation invalid)
{
return invalid; // the return comes from here
}
“验证”方法必须返回一个验证对象。它就在签名中。所以你需要“返回”一些东西。 IIRC,(至少某些版本的)VB会让你隐式返回最后一个值。 –
您必须返回方法的结果。 '返回InvalidResult(无效);'否则如何知道要返回哪个值。 – Magnus
总之,*不具有返回类型'void'的任何方法必须具有'return'语句。每个代码路径必须有一个。这正是C#的工作方式。 –