Использование рефлексии для захвата 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 в этом случае не имеет никакого эффекта, потому что компилятор знает сигнатуру метода и поэтому не может угадать тип переменной.