CS1643 de erro do compilador

Mensagem de erro

Nem todos os caminhos de código retornam um valor no método do tipo 'type'!

Este erro ocorre se um corpo de delegado não tem uma demonstrativo return ou tiver uma demonstrativo de retorno que o compilador não é capaz de verificar irá ser alcançada.No exemplo a seguir, o compilador não tentará prever o resultado da condição ramificação para verificar que o bloco de métodos anônimo sempre retorna um valor.

Exemplo

O exemplo a seguir gera CS1643:

// CS1643.cs
delegate int MyDelegate();

class C
{
    static void Main()
    {
        MyDelegate d = delegate
        {                 // CS1643
            int i = 0;
            if (i == 0)
                return 1;
        };
    }
}