Это невозможно сделать законным способом.
https://docs.microsoft.com/ru-ru/dotnet/csharp/lan...Реализацию виртуального члена можно изменить путем переопределения члена в производном классе.
Класс
B хранит реализацию базового класса
A.
Класс
C хранит реализацию своего базового класса
B, а вот к реализации
A мы не имеем доступа языковыми средствами C#.
Виртуальный метод класса
A всё же можно вызвать из класса
C, прибегнув к грязному хаку IL кода, но это не наши методы.