Как передать тип класса и создать его в другом классе? - C#
Формулировка задачи:
Добрый день!
Есть у меня классы юнитов - Walk, Strong, Fast. Все от абстрактного класса Unit.
Есть классы зданий - City, Forge, Stable. Все от абстрактного класса House.
Мне нужно, чтобы класс City создавал только Walk, класс Forge - Strong, Stable - Fast.
Создание экземпляров юнитов делается в менеджере, который руководит логикой. Мне надо прописать в классах домов те классы юнитов, которые они вмещают, а потом в менеджере создать просто экземпляр этого класса юнита.
То бишь, или что-то сравни этому. Во всяких Gettype. typeof и тд запутался, так и не смог воспроизвести в менеджере тип юнита, создать его экземпляр. Поможете?
House.SengingUnitType unit=House.SengindUnitType();
Решение задачи: «Как передать тип класса и создать его в другом классе?»
textual
Листинг программы
abstract class House
{
public abstract Unit CreateUnit();
}
class City : House
{
public override Unit CreateUnit()
{
return new Walk();
}
}