Имам следното действие ASP.NET Web Api 2 с троичен if return:
[HttpDelete]
public IHttpActionResult Delete()
{
bool deleted;
// ...
return deleted ? this.Ok() : this.NotFound();
}
получавам a
Типът на условния израз не може да бъде определен, тъй като няма имплицитно преобразуване между „System.Web.Http.Results.OkResult“ и „System.Web.Http.Results.NotFoundResult“
когато и двамата прилагат IHttpActionResult
.
Ако обаче премахна троичния if, компилаторът е доволен:
if (deleted)
{
return this.Ok();
}
return this.NotFound();
Защо е това?