Как передать метод в качестве параметра - 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);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы