Как передать метод в качестве параметра - C#
Формулировка задачи:
Добрый день. У меня следующий вопрос. Мне необходимо в метод, в виде параметра передать метод, который является составной частью класса OracleDateReader. Легко бы было передать целиком весь метод с экземпляром класса (dr.GetDateTime(0)), однако в данном случае это не удобно, необходимо чтобы передавался именно метод GetDateTime(0) и подсоединялся к экземпляру класса dr.
В примере последний параметр ( DateTime GetDateTime()) именно тот, который я хочу передать, но он здесь в таком виде не работает.
Подскажите, плиз
public void resultat(dbConnection con, string sql_zapr, ListBox lb, DateTime GetDateTime()) { OracleCommand cmd = new OracleCommand(); cmd.Connection = con.getDBConnection(); cmd.CommandText = sql_zapr; cmd.CommandType = CommandType.Text; OracleDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { lb.Items.Add(dr.GetDateTime(0)); } catch { lb.Items.Add("Данные отсутствуют"); } } }
Решение задачи: «Как передать метод в качестве параметра»
textual
Листинг программы
public delegate DateTime odbdelegate(int t); static void Main(string[] args) { odbdelegate deleg= OracleDataReader.GetDateTime; resultat(con, sql_zapr, lb, deleg) } public void resultat(dbConnection con, string sql_zapr, ListBox lb, odbdelegate GetDateTime) { //............................................. DateTime dt = GetDateTime(0); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д