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


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

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

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

Инициализатор поля не может ссылаться на нестатическое поле 'field' поля, метода или свойства
A field initializer cannot reference the nonstatic field, method, or property 'field'

Поля экземпляра нельзя использовать для инициализации других полей экземпляра за пределами метода. При попытке инициализировать переменную за пределами метода выполняйте инициализацию внутри конструктора класса. Дополнительные сведения см. в разделе Методы (Руководство по программированию на C#).

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

// CS0236.cs
public class MyClass
{
   public int i = 5;
   public int j = i;  // CS0236
   public int k;      // initialize in constructor

   MyClass()
   {
      k = i;
   }

   public static void Main()
   {
   }
}