Ler em inglês

Partilhar via


Erro do compilador CS1643

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

Este erro ocorre se um corpo delegado não tiver uma instrução return ou tiver uma instrução return que o compilador não consegue verificar se será alcançada. No exemplo abaixo, o compilador não tenta prever o resultado da condição de ramificação para verificar se o bloco de método 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;  
        };  
    }  
}