Erreur du compilateur CS0845
Mise à jour : novembre 2007
Message d'erreur
Une arborescence d'expression lambda ne peut pas contenir un opérateur de fusion avec une partie gauche de littéral null.
An expression tree lambda may not contain a coalescing operator with a null literal left-hand side.
Null n'ayant pas de type propre, l'opérateur de fusion null ne peut pas l'utiliser.
Pour corriger cette erreur
- Effectuez un cast du littéral null en un objet.
Exemple
Le code suivant génère 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;
}
}
}