CS0122 de erro do compilador

Mensagem de erro

'membros' está inacessível devido ao seu nível de proteção

The modificador de acesso para um membro da classe impede acesso de membro.Para obter mais informações, consulte Modificadores de acesso (guia de programação C#).

Uma causa disso (não mostrado no exemplo abaixo) pode ser omitindo o /out sinalizar de compilador no destino de um assembly do amigo. Para obter mais informações, consulte Friend Assemblies (Guia de programação C#) e / out (saída conjunto nome de arquivo) (Opções do compilador translation from VPE for Csharp)

Exemplo

O exemplo a seguir gera 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;
   }
}