Compilerfehler CS0038Compiler Error CS0038

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 steht nicht automatisch für eine geschachtelte Klasse zur Verfügung.A field in a class is not automatically available to a nested class. Um es für eine geschachtelte Klasse verfügbar zu machen, muss das Feld statisch sein.To be available to a nested class, the field must be static. Ansonsten müssen Sie eine Instanz der äußeren Klasse erstellen.Otherwise, you must create an instance of the outer class. Weitere Informationen finden Sie unter Geschachtelte Typen.For more information, see Nested Types.

Im folgenden Beispiel wird CS0038 generiert:The following sample generates 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()  
   {  
   }  
}