Ler em inglês

Compartilhar via


Erro do Compilador CS1914

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

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

Para corrigir este erro

  1. Altere o campo para um campo de instância no tipo ou remova a tentativa de inicializá-lo usando o inicializador de objeto.

Exemplo

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