Erro do compilador CS1914

O campo estático 'nome' não pode ser atribuído em um inicializador de objeto

Os inicializadores de objetos por definição inicializam objetos, ou instâncias, de classes. Eles não podem ser usados para inicializar um static campo de um tipo. Não importa quantas instâncias de uma classe sejam criadas, há apenas uma cópia de um static campo. Para tipos genéricos, cada tipo genérico fechado tem sua própria cópia de campos estáticos. Os campos estáticos marcados com ThreadStaticAttribute têm uma cópia por thread.

Para corrigir este erro

  1. Altere o campo para um campo de ocorrência no tipo ou remova a tentativa de inicializá-lo do inicializador do 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  
  
    }  
}