Error del compilador CS0845
Actualización: noviembre 2007
Mensaje de error
Un elemento lambda de un árbol de expresión no puede contener un operador de incorporación con un literal nulo en la parte izquierda.
An expression tree lambda may not contain a coalescing operator with a null literal left-hand side.
Porque el literal nulo por sí mismo no tiene un tipo, el operador de incorporación no puede funcionar en él.
Para corregir este error
- Convierta el literal nulo en un objeto.
Ejemplo
El código siguiente genera el error 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;
}
}
}