CS1914 de erro do compilador

Mensagem de erro

Campo estático 'nome' não pode ser atribuído no inicializador de objeto

Os inicializadores de objeto por definição, inicializar objetos ou instâncias de classes.Elas não podem ser usadas para inicializar um static campo de tipo. Não importa quantas instâncias de uma classe são criadas, há apenas uma cópia de um static campo.

Para corrigir este erro

  • Altere o campo a um campo de instância no tipo de ou remover tentar inicializá-lo a partir do inicializador de objeto.

Exemplo

O código a seguir gera CS1914 porque o inicializador tenta inicializar o TestClass.Number campo, que é 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
        
    }
}