Ошибка компилятора CS0038
Обновлен: Ноябрь 2007
Сообщение об ошибке
Невозможно получить доступ к нестатическому члену внешнего типа "type1" через вложенный тип "type2"
Cannot access a nonstatic member of outer type 'type1' via nested type 'type2'
У вложенного класса отсутствует автоматический доступ к полю в классе. Для наличия доступа поле должно быть статическим. Иначе необходимо создать экземпляр внешнего класса. Дополнительные сведения см. в разделе Вложенные типы (руководство по программированию на C#).
В следующем примере возникает ошибка CS0038.
// CS0038.cs
class OuterClass
{
public int count;
// try the following line instead
// public static int count;
class InnerClass
{
void func()
{
// or, create an instance
// OuterClass class_inst = new OuterClass();
// int count2 = class_inst.count;
int count2 = count; // CS0038
}
}
public static void Main()
{
}
}