Compilerfout CS0038

Geen toegang tot een niet-statisch lid van buitenste type 'type1' via geneste type 'type2'

Een veld in een klasse is niet automatisch beschikbaar voor een geneste klasse. Als u beschikbaar wilt zijn voor een geneste klasse, moet het veld statisch zijn. Anders moet u een exemplaar van de buitenste klasse maken. Zie Geneste typen voor meer informatie.

In het volgende voorbeeld wordt CS0038 gegenereerd:

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