Tipo de expresión condicional no se puede determinar porque no hay una conversión implícita entre 'expresión lambda' y 'expresión lambda'C#: ¿Sin conversión implícita entre 'expresión lambda' y 'expresión lambda'?
Say whaat? ¿Podría alguien explicarme este error de compilación? Este es el código que lo produce:
protected override Func<System.IO.Stream> GetStream()
{
return someBool
?() => EmbeddedResourceExtractor.GetFile("SomeFile1.ext")
:() => EmbeddedResourceExtractor.GetFile("SomeFile2.ext");
}
Esto no es así:
protected override Func<System.IO.Stream> GetStream()
{
return() => EmbeddedResourceExtractor.GetFile("SomeFile1.ext");
}
Y tampoco lo haga lo siguiente:
protected override Func<System.IO.Stream> GetStream()
{
if(someBool)
return() => EmbeddedResourceExtractor.GetFile("SomeFile1.ext");
return() => EmbeddedResourceExtractor.GetFile("SomeFile2.ext");
}
http://stackoverflow.com/questions/263151/lambdas-and-the-ternary-operator-weird-issue – user17541