Получить список неизвестного типа из PropertyInfo

У меня есть класс с определенным списком.

class Program
{          
      public List<string> list { get; set; }
};

Мне нужно получить этот список с помощью PropertyInfo , но проблема в том, что список может быть любого типа (здесь строка). Как извлечь значения из списка, используя информацию о свойстве, поскольку getValue() не возвращает мне список.


person user3552852    schedule 19.04.2014    source источник


Ответы (1)


Вы можете привести его к IList, а затем использовать цикл:

var myList = (IList)typeof(Program)
                    .GetProperty("list")
                    .GetValue(yourInstance);

Если вы не знаете фактический тип вашего списка, это все, что вы можете сделать. Если вы знаете тип на времени компиляции, вы можете привести его к IList<T>

person Selman Genç    schedule 19.04.2014
comment
не помогает ... преобразование в IList показывает ошибку. Использование универсального типа «System.Collections.Generic.IList‹T›» требует 1 аргумента типа - person user3552852; 21.04.2014
comment
Вам нужно using System.Collections; - person Selman Genç; 21.04.2014