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


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

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

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

Невозможно преобразовать выражение 'expression' в делегат, потому что некоторые из типов возвращаемых значений в этом блоке не позволяют выполнить неявное преобразование в тип возвращаемого делегатом значения.
Cannot convert 'expression' to delegate because some of the return types in the block are not implicitly convertible to the delegate return type.

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

Исправление ошибки

  • Измените тип возвращаемого значения делегата или выражения.

Пример

Следующий код вызывает ошибку CS1731:

class CS1731
{
    delegate double D();
    D d = () => { return "Who knows the real sword of Gryffindor?"; };
}