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