Я знаю, что это не работает таким образом, так как конструктор класса является недействительным:Можно ли вернуть дочерний класс из конструктора родительского класса
class ParentClass
{
public ParentClass(int case)
{
if(case==1)
return new ChildClass1();
else
return new ChildClass2();
}
}
Есть ли способ делая это.
No. То, что вы хотите это фабричный метод вместо конструктора. – MarcinJuraszek
Конструкторы не возвращают значения, поэтому нет. Вы можете использовать какой-либо фабричный/статический метод. –
Добро пожаловать в прекрасный мир шаблонов дизайна. [Вот полезный] сайт (http://www.dofactory.com/net/design-patterns), который содержит описания и примеры многих из них для вашей справки. –