У меня есть следующее действие ASP.NET Web Api 2 с тройным возвратом:
[HttpDelete]
public IHttpActionResult Delete()
{
bool deleted;
// ...
return deleted ? this.Ok() : this.NotFound();
}
Получаю
Тип условного выражения не может быть определен, потому что существует нет неявного преобразования между "System.Web.Http.Results.OkResult" и 'System.Web.Http.Results.NotFoundResult'
когда оба они реализуют IHttpActionResult
.
Однако, если я удалю троичный, если, компилятор счастлив:
if (deleted)
{
return this.Ok();
}
return this.NotFound();
Почему это?