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


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

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

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

Полям статического, предназначенного только для чтения поля 'identifier' не могут быть присвоены значения (кроме как в статическом конструкторе или инициализаторе переменной)
Fields of static readonly field 'identifier' cannot be assigned to (except in a static constructor or a variable initializer)

Эта ошибка происходит при попытке изменить член предназначенного только для чтения или статического поля, в то время как его изменение недопустимо. Для устранения этой ошибки ограничьте присвоение значений предназначенным только для чтения полям конструктором или инициализатором переменных либо удалите ключевое слово readonly из объявления этого поля.

// CS1650.cs
public struct Inner
{
    public int i;
}

class Outer
{
    public static readonly Inner inner = new Inner();
}

class D
{
    static void Main()
    {
        Outer.inner.i = 1;  // CS1650
    }
}