Тип условного выражения не может быть определена, так как не существует неявное преобразование между «лямбда-выражения» и «лямбда-выражения»C#: неявное преобразование между «лямбда-выражением» и «лямбда-выражением»?
Скажем whaat? Может ли кто-нибудь объяснить мне эту ошибку компиляции? Это код, который производит его:
protected override Func<System.IO.Stream> GetStream()
{
return someBool
?() => EmbeddedResourceExtractor.GetFile("SomeFile1.ext")
:() => EmbeddedResourceExtractor.GetFile("SomeFile2.ext");
}
Это не:
protected override Func<System.IO.Stream> GetStream()
{
return() => EmbeddedResourceExtractor.GetFile("SomeFile1.ext");
}
И ни это сделать:
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