Erreur du compilateur CS1914
Mise à jour : novembre 2007
Message d'erreur
Le champ static 'nom' ne peut pas être assigné dans un initialiseur d'objet
Static field 'name' cannot be assigned in an object initializer
Par définition, les initialiseurs d'objets initialisent des objets, ou instances, de classes. Ils ne doivent pas être utilisés pour initialiser le champ static d'un type. Quel que soit le nombre d'instances créées pour une classe spécifique, il n'existe qu'une seule copie d'un champ static.
Pour corriger cette erreur
- Modifiez le champ en champ d'instance dans le type ou supprimez la tentative d'initialisation à partir de l'initialiseur d'objet.
Exemple
Le code suivant génère l'erreur CS1914 car l'initialiseur tente d'initialiser le champ TestClass.Number, qui est static:
// cs1914.cs
using System.Linq;
public class TestClass
{
public string Message { get; set; }
public static int Number { get; set; }
}
class Test
{
static void Main()
{
TestClass b = new TestClass() { Message = "Hello", Number = "555-1212" }; // CS1914
}
}