Ошибка компилятора CS0845
Обновлен: Ноябрь 2007
Сообщение об ошибке
Дерево лямбда-выражения не может содержать объединяющий оператор с нулевым литералом в качестве левого операнда.
An expression tree lambda may not contain a coalescing operator with a null literal left-hand side.
Поскольку само значение NULL не имеет типа, оно не может быть обработано объединяющим оператором, поддерживающим значение NULL.
Исправление данной ошибки
- Выполните приведение литерала NULL в объекту.
Пример
В следующем коде возникает ошибка CS0845.
// cs0845.cs
using System;
using System.Linq;
using System.Linq.Expressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Expression<Func<object>> e = () => null ?? null; // CS0845
// Try the following line instead.
// Expression<Func<object>> e = () => (object)null ?? null;
}
}
}