Доступ к защищенным членам родительского класса - C#
Формулировка задачи:
class Base {
protected int x;
}
class Child: Base {
public void DoSomething(Base b) {
b.x = 0;
}
}
Доступ к защищенному члену 'Program.Base.x' через квалификатор типа 'Program.Base' невозможен; квалификатор должен иметь тип 'Program.Child' (или производный от него тип) (CS1540)
Решение задачи: «Доступ к защищенным членам родительского класса»
textual
Листинг программы
class Child : Base
{
public void DoSomething(Base b)
{
b.GetType().GetField("x", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(b, 0);
}
}