нет, класс не может иметь виртуального конструктора.
Нет смысла иметь виртуальный конструктор.Порядок, в котором объекты создаются в C #, заключается в том, что сначала создаются производные классы, поэтому производный конструктор всегда вызывается, поскольку класс, который вы хотите вызвать, хорошо известен во время создания.
Другое дело,если вы действительно наберете этот код, вы быстро увидите, что он вообще не имеет смысла
Если у вас было:
public class BaseClass
{
public virtual BaseClass()
{
}
}
, а затем
public class InheritedClass : BaseClass
{
//overrides baseclass constructor but why would you do this given that the
//constructor is always going to be called anyway??
public override InheritedClass()
{
}
}