Freigeben über


Compilerfehler CS0038

Aktualisiert: November 2007

Fehlermeldung

Auf einen nicht statischen Member des äußeren Typs "Typ1" kann nicht über den geschachtelten Typ "Typ2" zugegriffen werden.
Cannot access a nonstatic member of outer type 'type1' via nested type 'type2'

Ein Feld in einer Klasse ist nicht automatisch für geschachtelte Klassen verfügbar. Das Feld muss static sein, damit es für geschachtelte Klassen verfügbar ist. Anderenfalls müssen Sie in der äußeren Klasse eine Instanz erstellen. Weitere Informationen finden Sie unter Geschachtelte Typen (C#-Programmierhandbuch).

Im folgenden Beispiel wird CS0038 generiert:

// 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()
   {
   }
}