Erreur du compilateur CS0815
Impossible d’assigner 'expression' à une variable locale implicitement typée
Une expression utilisée comme initialiseur d’une variable implicitement typée doit avoir un type. Étant donné que les expressions de fonction anonyme, les expressions de groupe de méthode et l’expression de littéral null n’ont pas de type, elles ne constituent pas des initialiseurs appropriés. Une variable implicitement typée ne peut pas être initialisée avec une valeur null dans sa déclaration, mais une valeur null peut lui être assignée ultérieurement.
Avec les expressions lambda et les groupes de méthodes C# version 10, il est possible d’utiliser des types naturels comme initialiseurs dans les déclarations var
.
- Fournissez un type explicite pour la variable.
- Vous pouvez également spécifier des types naturels avec C# version 10 et ultérieure.
Le code suivant génère l’erreur CS0815 :
// cs0815.cs
class Test
{
public static int Main()
{
var d = s => -1; // CS0815
var e = (string s) => 0; // CS0815 for C# versions before 10
var p = null; // CS0815
var del = delegate(string a) { return -1; }; // CS0815
return -1;
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :