Это то, что я пытаюсь получить
(IList<Foo>)listPropertyInfo.GetValue(item)
Вот как я получаю тип Foo
listPropertyInfo.GetValue(item).GetType().GenericTypeArguments[0]
Это то, что я пробовал, но не смог сделать это успешно
Convert.ChangeType(listPropertyInfo.GetValue(item), IList<listPropertyInfo.GetValue(item).GetType().GenericTypeArguments[0]>)
а также это;
((typeof(IList<>).MakeGenericType(listPropertyInfo.GetValue(item).GetType().GenericTypeArguments.Single())))(listPropertyInfo.GetValue(item))
это метод, в котором я пытаюсь реализовать
public static void trigger(IList<T> result)
{
foreach (var item in result)
{
foreach (var listPropertyInfo in typeof(T).GetProperties().ToList().FindAll(x => x.PropertyType.Name == typeof(IList<>).Name))
{
trigger((IList<Foo>)listPropertyInfo.GetValue(item));
}
}
}