Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1643

Nie wszystkie ścieżki kodu zwracają wartość w metodzie typu "type!".

Ten błąd występuje, jeśli treść delegata nie ma instrukcji return lub zwraca instrukcję, że kompilator nie może sprawdzić, czy zostanie osiągnięty. W poniższym przykładzie kompilator nie próbuje przewidzieć wyniku warunku rozgałęziania w celu sprawdzenia, czy blok metody anonimowej zawsze zwraca wartość.

Przykład

Poniższy przykład generuje CS1643:

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