Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1914

Nie można przypisać pola statycznego "name" w inicjatorze obiektu

Inicjatory obiektów według definicji inicjują obiekty lub wystąpienia klas. Nie można ich użyć do zainicjowania static pola typu. Niezależnie od liczby wystąpień klasy, istnieje tylko jedna kopia static pola.

Aby poprawić ten błąd

  1. Zmień pole na pole wystąpienia w typie lub usuń próbę zainicjowania go z inicjatora obiektu.

Przykład

Poniższy kod generuje CS1914, ponieważ inicjator próbuje zainicjować TestClass.Number pole, czyli static:

C#
// 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  
  
    }  
}