Re: почему в C# до сих пор нет наследования конструкторов?
От: xpalex  
Дата: 27.11.22 06:17
Оценка: +2 :)
Здравствуйте, Codealot, Вы писали:

C>есть внятные объяснения?


Но зачем он нужен?

Наследование же нужно для диспетчеризации (выбора метода на основании типа объекта).
Пока нет объекта какой смысл в наследовании?

Более того, клиенты использующие конструкторы и использующие методы самого объекта обычно разные. Конструируют объекты обычно фабрики и DI контейнеры.
И там явно указывается объект какого типа и как сконструировать.

Ну и логически размышляя, если у объектов одинаковые api (т.к. наследование) и одинаковые конструкторы, следовательно у них одинаковые зависимости и следовательно они не отличатся! Либо реализуют паттерн стратегия.
Пока не могу себе представить где бы мне понадобилось наследование классов стратегий с наследованием конструкторов.

Вот даже гипотетически пусть есть такой код:
 var someObject = new BaseClass(4, "some string");
 var otherObject = new DerivedClass(4, "some string");


Как наследование конструкторов упростит мой код? Мне же все равно придется писать явно тип наследуемого класса в коде.

А что делать если я не хочу наследование констуркторов? Мне как-то в наследнике придется помечать конструкторы которые нужно "отключить"?

 var someObject = new BaseClass(4, "some string");
 var ottherObejct = new LoggerDecoratedObject(someObject);


я бы вот точно не хотел что бы у LoggerDecoratedObject были конструкторы из BaseClass.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.