Как передать метод в качестве параметра - 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д