Всем привет.
На С++ это выглядит вот так:
class Control
{
protected:
virtual void SomeMethod()
{
//Делает то, что нужно
}
};
class SomeStandatdControl : public Control
{
protected:
virtual void SomeMethod()
{
//Делает не то, что нужно
}
};
class MyControl : public SomeStandatdControl
{
protected:
virtual void SomeMethod()
{
//Вот тут вызов нужного метода через явную квалификацию
Control::SomeMethod();
}
};
А теперь вопрос, как такое написать на шарпе?
public class Control
{
protected virtual void SomeMethod()
{
//Делает то, что нужно
}
}
public class SomeStandatdControl : Control
{
protected override void SomeMethod()
{
//Делает не то, что нужно
}
}
public class MyControl : SomeStandatdControl
{
protected override void SomeMethod()
{
//Как тут вызвать Control.SomeMethod???
Control.SomeMethod(); // Error: Cannot access protected member
(this as Control).SomeMethod(); // Error: Cannot access protected member
}
}