如果有下面的语句:为什么这个内联错了?
return this.revision.HasValue ? this.revision : throw new InvalidOperationException();
我认为是抛出是打破正常流程将编译,它不应该是没有返回值的问题,但它并没有建立。
有没有办法把这个陈述正确或为什么不允许?
谢谢。
编辑: this.revision是int?该方法返回int。
编辑2:如果我有这个方法
public int Test()
{
throw new Exception();
}
编译器不会抱怨没有返回值,我预计从行内同样的事情,如果......至少我们知道,可以因为它已经在方法中完成了。
什么是你的方法的返回类型? – Christos
从msdn:第一个表达式和第二个表达式的类型必须相同,或者从一个类型到另一个类型必须存在隐式转换。 http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.110).aspx – Ric
提供您的(视觉工作室)错误信息。乍一看,修正!=例外。 – mnemonic