Есть Generic-тип, например List<T>.
Есть несколько объектов: List<Int32>, List<Object>, List<String>
Возможно ли сгенерировать общий метод на основе определения List<>, который бы получал значение вложенного Generic-поля, например T[] _items;
То есть что-нибудь наподобие:
delegate Array GetItems(Object obj);
GetItems getItems = EmitGetItems(typeof(List<>));
Array arr1 = getItems(new List<Int32>{1, 2, 5});
Array arr2 = getItems(new List<Object>(null, "String", new List<Int32>());
Array arr3 = getItems(new List<String>("Str1", "Str2");
Reflection.GetValue, к примеру, такого не умеет, если ты пытаешься вытащить поле, дескриптор которого помечен, как IsGenericParameter. Но, может быть, это можно сделать при помощи IL'а?