Erreur du compilateur CS1920
Mise à jour : novembre 2007
Message d'erreur
Les initialiseurs d'éléments ne peuvent pas être vides.
Element initializer cannot be empty.
Un initialiseur de collection comprend une séquence d'initialiseurs d'éléments. Les initialiseurs d'éléments n'ont pas besoin d'être mis entre accolades, sauf s'ils contiennent une expression d'assignation. Toutefois, si vous spécifiez des accolades, elles ne doivent pas être vides. Si l'initialiseur d'élément est un initialiseur d'objet, les accolades peuvent être vides tant que l'initialiseur contient une nouvelle expression de création d'objet.
Pour corriger cette erreur
Ajoutez l'expression manquante entre accolades.
Si l'expression doit être un initialiseur d'objet, ajoutez la nouvelle expression de création d'objet en regard des accolades.
Exemple
L'exemple suivant génère l'erreur CS1920 :
// cs1920.cs
using System.Collections.Generic;
public class Test
{
public static int Main()
{
// Error. Empty initializer
// for inner list.
List<List<int>> collection =
new List<List<int>>() { { } }; // CS1920
// OK. No initializer for inner list.
List<List<int>> collection2 =
new List<List<int>>() { };
// OK. Inner list is initialized
// to one List<int> with zero elements.
List<List<int>> collection3 =
new List<List<int>>() { new List<int> { } };
return 0;
}
}
Voir aussi
Référence
Initialiseurs d'objets et de collection (Guide de programmation C#)