Нет. C# не поддерживает это ни в одной версии. Обратите внимание, что конструкторы не наследуются в производных классах, хотя они могут быть "соединены в цепочку". Вероятно, это то, что вы хотите сделать.
Если вы хотите указать, что производный класс должен выполнять какую-то инициализацию, вы можете создать абстрактный метод Initialise
или такой, который конструктор базового класса (и косвенно подкласса) вызывает при создании.
В качестве побочного вопроса, я не уверен, поддерживает ли CLR (или связанный с ним язык CIL) это на самом деле - я подозреваю, что может, хотя это мало применимо в C# по только что упомянутой причине.
В основном нет.
Если это абстрактный, вы должны переопределить его в конкретном дочернем классе, и вы не можете переопределить конструктор, а только перегрузите его.
Нет, конструктор нельзя пометить как абстрактный. В абстрактных классах конструкторы обычно помечаются как protected
, хотя, по крайней мере, я бы рекомендовал вам это сделать.