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


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

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

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

Невозможно присвоить "выражение" неявно типизированной локальной переменной
Cannot assign 'expression' to an implicitly typed local

Выражение, используемое в качестве инициализатора для неявно типизированной переменной, должно иметь тип. Поскольку выражения анонимных функций, выражения групп методов и выражение литерала NULL не имеют типа, их нельзя использовать в качестве инициализаторов. Неявно типизированную переменную нельзя инициализировать с помощью значения NULL, хотя позже ей можно присвоить значение NULL.

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

  • Предоставьте тип переменной явным образом.

Пример

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

// cs0815.cs
class Test
{
    public static int Main()
    {
        var d = s => -1; // CS0815
        var e = (string s) => 0; // CS0815
        var p = null;//CS0815
        var del = delegate(string a) { return -1; };// CS0815
        return -1;
    }
}

См. также

Ссылки

Неявно типизированные локальные переменные (Руководство по программированию в C#)