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


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

Обновлен: Ноябрь 2007

Сообщение об ошибке

Не все пути кода возвращают значение в метод типа "тип!"
Not all code paths return a value in method of type 'type!'

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

Пример

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

// CS1643.cs
delegate int MyDelegate();

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