Я хочу получить доступ к элементам списков, переданных как «объект» (функция также обрабатывает другие типы данных, такие как массивы). К сожалению, в то время как это работает:Элементы доступа C#, перечисленные как тип объекта
List<object> objectlist = new List<object> { "1", "2" };
object res = ((List<object>)((object)objectlist))[0];
это не делает:
List<string> strlist = new List<string> { "1", "2" };
res = (string)((List<object>)((object)strlist))[0];
хотя он работает с массивами.
Невозможно преобразовать обычные списки в список.
ли с помощью отражения (но с GetMethods, чтобы избежать повторных строк поиска):
MethodInfo info = ((object)list).GetType().GetMethod("get_Item");
object s1 = (object)info.Invoke(((object)list), new object[] { 0 });
единственный способ сделать это?