РЕДАКТИРОВАТЬ Неправильная конструкция в качестве конструктора. Оставляя как CW, так как это соответствует очень ограниченному подмножеству проблемы.
В C # вы можете форсировать это поведение, определяя один конструктор, имеющий хотя бы один параметр в базовом типе. Это удаляет конструктор по умолчанию и вынуждает производные типы явно вызывать указанную базу, или они получают ошибку компиляции.
class Parent {
protected Parent(int id) {
}
}
class Child : Parent {
// Does not compile
public Child() {}
// Also does not compile
public Child(int id) { }
// Compiles
public Child() :base(42) {}
}