Есть ли способ заставить (дочерний) класс иметь конструкторы с конкретными сигнатурами или конкретными статическими методами в С# или Java?
Вы не можете явно использовать интерфейсы для этого, и я знаю, что он будет ограниченным использованием. Один экземпляр, в котором я нахожу его полезным, - это когда вы хотите применить некоторые рекомендации по дизайну, например:
Исключения
Все они должны иметь четыре канонических конструктора, но нет никакого способа обеспечить их соблюдение. Вы должны полагаться на такой инструмент, как FxCop (случай С#), чтобы поймать их.
Операторы
Нет договора, который указывает, что два класса могут быть суммированы (с оператором + в С#)
Есть ли какой-либо шаблон проектирования, чтобы обойти это ограничение? Какую конструкцию можно добавить к языку для преодоления этого ограничения в будущих версиях С# или Java?