Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS1914

Statické pole name nelze přiřadit v inicializátoru objektů.

Inicializátory objektů podle definice inicializují objekty nebo instance tříd. Nelze je použít k inicializaci static pole typu. Bez ohledu na to, kolik instancí třídy se vytvoří, existuje pouze jedna kopie static pole.

Oprava této chyby

  1. Změňte pole na pole instance v typu nebo odeberte pokus o inicializaci z inicializátoru objektu.

Příklad

Následující kód vygeneruje CS1914, protože inicializátor se pokusí inicializovat TestClass.Number pole, což je 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  
  
    }  
}