Compilerfehler CS1920
Aktualisiert: November 2007
Fehlermeldung
Der Elementinitialisierer darf nicht leer sein.
Element initializer cannot be empty.
Ein Auflistungsinitialisierer besteht aus einer Reihe von Elementinitialisierern. Die Elementinitialisierer müssen nur in geschweifte Klammern gesetzt werden, wenn sie einen Zuweisungsausdruck enthalten. Wenn Sie geschweifte Klammern angeben, dürfen diese nicht leer sein. Falls der Elementinitialisierer ein Objektinitialisierer ist, dürfen die Klammern leer bleiben, sofern der Initialisierer einen Erstellungsausdruck für ein neues Objekt enthält.
So beheben Sie diesen Fehler
Fügen Sie den fehlenden Ausdruck in die geschweiften Klammern ein.
Falls der Ausdruck ein Objektinitialisierer sein soll, fügen Sie den Erstellungsausdruck für ein neues Objekt vor den Klammern hinzu.
Beispiel
Durch das folgende Beispiel wird der Fehler CS1920 ausgelöst:
// 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;
}
}
Siehe auch
Referenz
Objekt- und Auflistungsinitialisierer (C#-Programmierhandbuch)