Приведение элементов 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;
//потому что я буду передавать сюда массивы различных типов.
}