Ler em inglês

Partilhar via


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