Использование рефлексии для захвата NetTiers TList, а затем для итерации этого списка

Приведенный ниже код работает без проблем, он возьмет точный TList, который я ищу. Но я понятия не имею, как это повторить.

То, что я ищу, это либо как повернуть var dataTableObject в DataTable или как итерировать переменную var, а затем использовать отражение, чтобы получить конкретные объекты, которые я ищу. Это означает, что мой TList имеет 100 объектов, я хочу только 2 объекта из 100 объектов для всех моих строк.

Assembly assem = Assembly.LoadFrom(Context.Server.MapPath("~/bin/MyApp.Services.dll"));
Type typMyService = assem.GetType(string.Format(
                 "MyApp.Services.{0}Service", pc[i].RadComboBoxDataSourceTable), true);
object oMyService = Activator.CreateInstance(typMyService);
System.Reflection.MethodInfo objMethod = typMyService.GetMethod("GetAll", Type.EmptyTypes);
var dataTableObject = objMethod.Invoke(oMyService, null);

Спасибо!

1 ответ

Если тип результата GetAll - DataTable, вы можете использовать прямое приведение:

DataTable dataTableObject = (DataTable)objMethod.Invoke(oMyService, null);

Использование var в этом случае не имеет никакого эффекта, потому что компилятор знает сигнатуру метода и поэтому не может угадать тип переменной.

Другие вопросы по тегам