VD>Нет никаких проблем в твоем примере. Что-ты ты накасячил где-то еще.
Вот именно в том и проблема, что нет проблем!
Я хочу, чтобы в случие отсутствия вызова базовой функции компилятор говорил об этом
class Animal
{
public virtual void Run()
{
// do something
Console.WriteLine("Animal.Run()");
}
}
class Dog : Animal
{
public override void Run()
{
// base.Run(); // К сожалению, так тоже ОК

Console.WriteLine("Dog.Run()");
}
}
class Program
{
static void Main(string[] args)
{
Dog dog = new Dog();
dog.Run();
}
}