Error del compilador CS0122

Actualización: noviembre 2007

Mensaje de error

'miembro' no es accesible debido a su nivel de protección
'member' is inaccessible due to its protection level

El modificador de acceso de un miembro de clase evita el acceso al miembro. Para obtener más información, vea Modificadores de acceso (Guía de programación de C#).

Una causa de este problema (que no se muestra en el ejemplo siguiente) puede ser que se haya omitido el indicador del compilador /out en el destino de un ensamblado de confianza. Para obtener más información, vea Ensamblados de confianza (Guía de programación de C#) y /out (Establecer el nombre de archivo de los resultados) (Opciones del compilador de C#).

Ejemplo

El código siguiente genera el error CS0122:

// CS0122.cs
public class MyClass
{
    // Make public to resolve CS0122
    void Foo()
    {
    }
}

public class MyClass2
{
    public static int Main()
    {
        MyClass a = new MyClass();
        // Foo is private
        a.Foo();   // CS0122
        return 0;
   }
}