Kompilatorfel CS0122

"medlem" är otillgänglig på grund av dess skyddsnivå

Åtkomstmodifieraren för en klassmedlem förhindrar åtkomst till medlemmen. Mer information finns i Åtkomstmodifierare.

Tilläggsmedlemmar kan inte komma åt privata medlemmar av den typ som de utökar.

En orsak till detta (visas inte i exemplet nedan) kan vara att utelämna kompilatorflaggan /out på målet för en vänsamling. Mer information finns i Friend Assemblies and OutputAssembly (C#Compiler Options).

Example

Följande exempel genererar CS0122:

// CS0122.cs
public class MyClass
{
    private int data;

    void PrivateMethod() {}
    public void PublicMethod() {}
}

public static class MyClassExtensions
{
    public static int GetData(this MyClass myClass)
    {
        return myClass.data;   // CS0122
    }
}

public class Program
{
    public static void Main()
    {
        MyClass a = new MyClass();
        a.PrivateMethod();   // CS0122
        a.PublicMethod();   // OK
    }
}