Поделиться через


Ошибка компилятора CS0122

Обновлен: Ноябрь 2007

Сообщение об ошибке

'член' недоступен за его уровня защиты
'member' is inaccessible due to its protection level

Модификатор доступа для члена класса препятствует доступу к нему. Дополнительные сведения см. в разделе Модификаторы доступа (Руководство по программированию в C#).

Одной из возможных причин этой ошибки (не показанной в примере ниже) может быть отсутствие флага компилятора /out на целевом объекте дружественной сборки. Дополнительные сведения см. в разделах Дружественные сборки (руководство по программированию на C#) и /out (установка имени выходного файла) (параметры компилятора C#).

Пример

Следующий пример кода приводит к возникновению ошибки 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;
   }
}