Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
"член" недоступен из-за его уровня защиты
Модификатор доступа для члена класса запрещает доступ к этому члену. Дополнительные сведения см. в статье Модификаторы доступа.
Методы расширения не могут получить доступ к частным членам типа, который они расширяют.
Одна из причин этого (не показана в следующем примере) может быть связана с отсутствием флага компилятора /out для целевого объекта дружественной сборки. Дополнительные сведения см. в статье Дружественные сборки и в разделе OutputAssembly (параметры компилятора C#).
В следующем примере возникает ошибка 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
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: