Wenn die folgende Anweisung:Warum ist das falsch inline wenn?
return this.revision.HasValue ? this.revision : throw new InvalidOperationException();
ich dachte, es würde kompilieren wie der Wurf den normalen Fluss zu brechen und es sollte kein Problem sein, um keinen Wert zurück, aber es nicht bauen.
Gibt es eine Möglichkeit, diese Aussage zu korrigieren oder warum ist das nicht erlaubt?
Danke.
EDIT: this.revision ist int? und die Methode gibt int zurück.
EDIT 2: wenn ich diese Methode haben
public int Test()
{
throw new Exception();
}
Der Compiler beschwert sich nicht über keinen Wert zurückkehrte, erwartete ich das gleiche von einem Inline-wenn ... zumindest wissen wir, dass können getan werden, wie es bereits in Methoden getan wird.
Was ist der Rückgabetyp Ihrer Methode? – Christos
Von msdn: Entweder muss der Typ von first_expression und second_expression gleich sein, oder eine implizite Konvertierung muss von einem Typ zum anderen existieren. http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.110).aspx – Ric
liefern Sie Ihre (Visual Studio) Fehlermeldung. auf den ersten Blick, Revision! = Ausnahme. – mnemonic