@ Джеймс прав.Чтобы основываться на его ответе, поскольку вы можете вызывать базовую версию из переопределенной, вы можете отправить какой-то флаг в метод, чтобы указать, выполнять ли его собственную реализацию или переопределенную.Примерно так:
public override void Foo(bool useBaseImplementation)
{
if(useBaseImplementation)
{
base.Foo(useBaseImplementation);
}
else
{
//other stuff here
}
}
Для того, чтобы он работал, вы должны иметь флаг в качестве параметра и для базового, но вы можете просто проигнорировать его там.Не элегантно, может быть, совершенно уродливо, но делает то, что вы ищете.