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


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

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

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

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

С переменной с модификатором readonly модификатор static должен использоваться так же, как с конструктором, в котором она будет инициализироваться. Дополнительные сведения см. в разделе Статические конструкторы (руководство по программированию в C#).

Следующий пример проводит к генерированию ошибки CS0198:

// CS0198.cs
class MyClass
{
   public static readonly int TestInt = 6;

   MyClass()
   {
      TestInt = 11;   // CS0198, constructor is not static and readonly field is
   }

   public static void Main()
   {
   }
}