Приведение элементов ArrayList - C#

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

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

Здравствуйте, у меня етсь конструктор в который я передаю массив, который потом запихиваю в ArrayList каждый элемент ArrayList это обьект класса в котором есть некоторые свойства. В свой конструктор я могу передавать различные массивы, тоесть потом возможно я буду добавлять новые классы и передавать в конструктор массив объектов этих новых классов. Мне нужно как-то реализовать преобразование каждого элемента ArrayList к его типу, для того чтобы достать эти злощастные string свойства, но естественно как-то так чтобы явно не приводить к типу, так как конструктор вообще не должен знать какие классы у меня есть.
   public SimulatorViewModel(Array arrList)
        {
            counter = 0;
            this.arrList = new ArrayList(arrList);
          
        }
Ну вот в данном случае у меня в массиве обьекты класса Take но я могу передавать и массивы с другимми типами объектов. Возможно ли вобще как-то достать эти поля без явного приведения типа, типа: var obj=this.arrList[2] as Take //мне вот это вот все не подходит obj.Ukrainian ...

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

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


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

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

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