Errore del compilatore CS1922
L'inizializzatore di raccolta richiede che il tipo 'type' implementi System.Collections.IEnumerable.
Per usare un inizializzatore di raccolta con un tipo, questo deve implementare IEnumerable
. Questo errore può verificarsi se si usa accidentalmente la sintassi dell'inizializzatore di raccolta quando si intende usare un inizializzatore di oggetto.
Se il tipo non rappresenta una raccolta, usare la sintassi dell'inizializzatore di oggetto anziché la sintassi dell'inizializzatore di raccolta.
Se il tipo rappresenta una raccolta, modificarlo per implementare
IEnumerable
prima che sia possibile usare inizializzatori di raccolta per inizializzare oggetti di quel tipo.Se il tipo rappresenta una raccolta e non si ha accesso al codice sorgente, inizializzare solo gli elementi usando i costruttori di classe o altri metodi di inizializzazione.
Il codice seguente genera l'errore CS1922:
// cs1922.cs
public class Test
{
public static void Main()
{
// Collection initializer.
var tc = new TestClass {1,"hello"} ; // CS1922
// Object initializer.
var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
}
}
public class TestClass
{
public int memberA { get; set; }
public string memberB { get; set; }
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: