Поделиться через


Ошибка компилятора CS1914

Обновлен: Ноябрь 2007

Сообщение об ошибке

Статическому полю "name" не может быть присвоено значение в инициализаторе объекта
Static field 'name' cannot be assigned in an object initializer

Инициализаторы объекта по определению инициализируют объекты или экземпляры классов. Они не могут быть использованы для инициализации поля static типа. Независимо от количества созданных экземпляров класса всегда существует только одна копия поля static.

Исправление данной ошибки

  • Либо измените тип поля, либо удалите попытку инициализации поля из инициализатора объекта.

Пример

В следующем примере кода возникает ошибка CS1914, поскольку происходит попытка инициализировать поле TestClass.Number, которое имеет тип 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
        
    }
}