Ошибка компилятора 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#)