Errore del compilatore CS1643

Aggiornamento: novembre 2007

Messaggio di errore

Non tutti i percorsi del codice restituiscono un valore in un metodo di tipo 'tipo'
Not all code paths return a value in method of type 'type!'

Questo errore si verifica quando nel corpo del delegato non è contenuta un'istruzione return oppure quando questa è presente ma il compilatore non è in grado di verificarne l'effettiva accessibilità. Nell'esempio riportato di seguito il compilatore, per controllare se il blocco di metodo anonimo restituisce sempre un valore, non tenta di prevedere il risultato della condizione di diramazione.

Esempio

Il seguente codice di esempio genera l'errore CS1643:

// CS1643.cs
delegate int MyDelegate();

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