Прочитать на английском

Поделиться через


Ошибка компилятора CS1643

Не все ветви кода возвращают значение в метод типа "тип"

Эта ошибка возникает, если в теле делегата отсутствует оператор return или имеется оператор return, который компилятор не может проверить. В следующем примере компилятор не пытается предсказать результат условия ветвления для проверки того, что блок анонимного метода всегда возвращает значение.

Пример

Следующий пример приводит к возникновению ошибки CS1643:

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