Partager via


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
        
    }
}