How to add cell value to MyTimers.Last().Parameter

 public class MyTimer : System.Timers.Timer { public object Parameter { get; set; } } class WriteToFile { static void Main(string[] args) { using (SqlConnection cn = new SqlConnection()){ cn.ConnectionString = @"Data Source=192.168.1.156;Initial Catalog=ihd_aktobe;Persist Security Info=True;User ID=sa;Password=***********"; cn.Open(); using (SqlDataAdapter adapter = new SqlDataAdapter("select s.id, s.name_ru, s.sendType, c1.cod, s.typPeriod, c2.name_ru, s.metaAlg, m.cod, s.dt_send, s.dt_beg, s.dt_send_daytime, s.dt_period_end from FROM Shedule s inner join ClBaseItem c1 on s.sendType=c1.id inner join ClBaseItem c2 on s.typPeriod=c2.idinner join MetaAlg m on s.metaAlg=m.id", cn)) using (DataTable dt = new DataTable()) { adapter.Fill(dt); foreach (DataRow row in dt.Rows) { MyTimer myTimer = new MyTimer(); myTimer.Interval = Convert.ToInt32(row["dt_send_daytime"]); myTimer.Parameter = row["cod"]; myTimer.Parameter = row["dt_beg"]; myTimer.Parameter = row["dt_period_end"]; myTimer.Elapsed += OnTimeout; myTimer.AutoReset = true; myTimer.Enabled = true; } } } } 
  • The value of the cells of what (dataGridView, ...)? - Streletz
  • The value of DataTable cells - propro17
  • @SeM gives an error to MyTimers.Last (). Interval = Convert.ToInt32 (row ["timer_int"]); input line had wrong format - propro17

1 answer 1

If you want to add an object to the end of the List<MyTimer>() then:

 MyTimers.Add(new MyTimer() { Interval = 1000, Parameter = dt.Rows[1]["timer_param"] }); 

UPDATE:

Create a new class with the properties you need:

 public class ParameterData { public string Cod { get; set; } public DateTime Dt_Begin { get; set; } public DateTime Dt_Period_End { get; set; } } 

Then create an object of your class and assign the necessary parameters:

 static void Main(string[] args) { . . . . using (DataTable dt = new DataTable()) { adapter.Fill(dt); ParameterData data = new ParameterData(); foreach (DataRow row in dt.Rows) { MyTimer myTimer = new MyTimer(); //почему вы создаете объект каждый раз? myTimer.Interval = Convert.ToInt32(row["dt_send_daytime"]); data.Cod = row["cod"]; data.Dt_Begin = row["dt_beg"]; data.Dt_Period_End = row["dt_period_end"]; myTimer.Parameter = data; myTimer.Elapsed += OnTimeout; myTimer.AutoReset = true; myTimer.Enabled = true; } } } 
  • Comments are not intended for extended discussion; conversation moved to chat . - PashaPash
  • Thank you, we have already discussed everything in the chat. - SᴇM