Приведение элементов ArrayList - C#
Формулировка задачи:
Здравствуйте, у меня етсь конструктор в который я передаю массив, который потом запихиваю в ArrayList каждый элемент ArrayList это обьект класса в котором есть некоторые свойства. В свой конструктор я могу передавать различные массивы, тоесть потом возможно я буду добавлять новые классы и передавать в конструктор массив объектов этих новых классов. Мне нужно как-то реализовать преобразование каждого элемента ArrayList к его типу, для того чтобы достать эти злощастные string свойства, но естественно как-то так чтобы явно не приводить к типу, так как конструктор вообще не должен знать какие классы у меня есть.
Ну вот в данном случае у меня в массиве обьекты класса Take но я могу передавать и массивы с другимми типами объектов. Возможно ли вобще как-то достать эти поля без явного приведения типа, типа:
var obj=this.arrList[2] as Take //мне вот это вот все не подходит
obj.Ukrainian ...
public SimulatorViewModel(Array arrList) { counter = 0; this.arrList = new ArrayList(arrList); }
Решение задачи: «Приведение элементов ArrayList»
textual
Листинг программы
public SimulatorViewModel(Array arrList) //например сюда попал массив элементов типа Take(объекты класса Take) { counter = 0; this.arrList = new ArrayList(arrList);//засовываю массив в ArrayList [ATTACH]803801[/ATTACH] //Как мне достать эти свойства из ArrayList без явного приведения //Чтоб не делать вот так Take elem= this.arrList[0] as Take //string str=elem.Ukrainian; //потому что я буду передавать сюда массивы различных типов. }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д