Конструктор имеет не общее имя, а то же имя, что и класс, поэтому существует проблема с синтаксисом для принудительного применения их в классе интерфейса.Каков же синтаксис для чего-то подобного:
Interface IInterface {
<class-name-of-implementer>(string param) {}
}
Проблема, которую я вижу при создании метода инициализации, заключается в том, что клиентское приложение вашей framwork / библиотеки может просто забыть вызвать его!Мне кажется, что если бы конструктор был просто назван __Constructor, как в некоторых других языках, это было бы возможно, поэтому это невозможно из-за синтаксиса!
Синтаксис не должен управлять дизайном, а семантикой.