CS1731 de erro do compilador

Mensagem de erro

Não é possível converter 'expressão' para delegar porque alguns dos tipos de retorno no bloco não são implicitamente conversíveis no tipo de retorno do delegado.

Este erro é gerado quando uma expressão lambda ou um método anônimo tenha um tipo de retorno que não é compatível com o tipo de retorno do delegado.

Para corrigir este erro

  • Altere o tipo de retorno do delegado ou a expressão.

Exemplo

O código a seguir gera CS1731:

class CS1731
{
    delegate double D();
    D d = () => { return "Who knows the real sword of Gryffindor?"; };
}