Привет всем!
Изучаю такой вопрос: как можно по строковому обозначению мембера какого-либо экземпляра класса обратиться к методу этого мембера?
Конкретнее:
1) Eсть форма Form1;
2) На ней несколько SqlDataAdapter'ов - SDA_table1, SDA_table2, SDA_table3,...;
3) В строковой переменной sdname хранится одно из этих наименований.
Как обратиться к методу Fill(DataSet1) адаптера, соответствующего наименованию?
ЗЫ: вариант использующий switch {} просьба не предлагать
ЗЫЗЫ: SDA_table1, SDA_table2, SDA_table3,... - непосредственно инстанции самого System.Data.SqlClient.SqlDataAdapter
или же
если у тебя мембер, это проперти, то
// Получить инфу о нужной проперте у типа
PropertyInfo adapterInfo = typeof(Form1).GetProperty("SDA_table2");
// Получить значение этой проерти у твоей формы
SQlDataAdapter adapter = (SQlDataAdapter) adapterInfo.GetValue( myForm, null );
// инвокнуть его метод
adapter.Fill(dataSet1);
We take I.T. easy!
|