Error del compilador CS1914

Actualización: noviembre 2007

Mensaje de error

No se puede asignar el campo estático 'nombre' en un inicializador de objeto
Static field 'name' cannot be assigned in an object initializer

Los inicializadores de objeto por definición inicializan objetos (o instancias) de clases. No se pueden utilizar para inicializar un campo static de un tipo. Independientemente del número de instancias que se creen de una clase, sólo hay una copia de un campo static.

Para corregir este error

  • Transforme el campo en un campo de instancia en el tipo o quite el intento de inicializarlo desde el inicializador de objeto.

Ejemplo

El código siguiente genera el error CS1914 porque el inicializador intenta inicializar el campo TestClass.Number, que es 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
        
    }
}