Как передать тип класса и создать его в другом классе? - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Есть у меня классы юнитов - Walk, Strong, Fast. Все от абстрактного класса Unit. Есть классы зданий - City, Forge, Stable. Все от абстрактного класса House. Мне нужно, чтобы класс City создавал только Walk, класс Forge - Strong, Stable - Fast. Создание экземпляров юнитов делается в менеджере, который руководит логикой. Мне надо прописать в классах домов те классы юнитов, которые они вмещают, а потом в менеджере создать просто экземпляр этого класса юнита. То бишь,
House.SengingUnitType unit=House.SengindUnitType();
или что-то сравни этому. Во всяких Gettype. typeof и тд запутался, так и не смог воспроизвести в менеджере тип юнита, создать его экземпляр. Поможете?

Решение задачи: «Как передать тип класса и создать его в другом классе?»

textual
Листинг программы
    abstract class House
    {
        public abstract Unit CreateUnit();
    }
 
    class City : House
    {
        public override Unit CreateUnit()
        {
            return new Walk();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы