Создание объекта со случайно выбранным из определённого перечня типом. Возможно ли на С# - C#
Формулировка задачи:
Здравствуйте!
Собственно мой вопрос уже изложен в заголовке. А задачу я, собственно, перед собой поставил следующую:
Есть некий класс, от него наследуют ещё несколько классов. Так вот, я хочу случайным образом заполнить List с типом базового класса объектами классов-наследников со случайно сгенерированными значениями полей.
Более изящного решения в голову не приходит. Просто не хочется создавать кучу листов с соответствующими типами.
Возможно ли осуществить задуманное?
Решение задачи: «Создание объекта со случайно выбранным из определённого перечня типом. Возможно ли на С#»
textual
Листинг программы
abstract class Base {} class A : Base {} class B : Base {} public static void Main(string[] args) { var list = new List<Base>(); var listOfDerived = (from assm in AppDomain.CurrentDomain.GetAssemblies() from type in assm.GetTypes() where typeof(Base).IsAssignableFrom(type) && !type.IsAbstract select type).ToArray(); Random rand = new Random(); int count = listOfDerived.Length; for (int i = 0; i < 10; i++) { Base temp = Activator.CreateInstance(listOfDerived[rand.Next(0, count)]) as Base; list.Add(temp); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д