Это действительно проблема, и Visual Studio Code Analysis явно проверяет это .
Простой обходной путь для этого состоит в том, чтобы переместить работу в не виртуальный внутренний элемент, а затем вызвать вызов виртуального метода, а также конструктор. Как то так:
public class MyClass
{
public MyClass()
{
this.DoStuffInternal();
}
public virtual void DoStuff()
{
this.DoStuffInternal();
}
internal void DoStuffInternal()
{
// Interesting stuff happens here
}
}