Fordító hiba CS0122

A "member" a védelmi szintje miatt nem érhető el

Az osztálytagok hozzáférés-módosítója megakadályozza a tag elérését. További információ: Access Modifiers.

A bővítménytagok nem férhetnek hozzá az általuk kiterjesztett típusú privát tagokhoz.

Ennek egyik oka (ami az alábbi példában nem látható) lehet az /out fordítójelző kihagyása egy barát-összeállítás célpontján. További információ: Friend Assemblies and OutputAssembly (C# Compiler Options).

Example

Az alábbi minta a CS0122-t hozza létre:

// 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
    }
}