public class MyTimerData { public int delay { get; set; } public string parameter { get; set; } } class ex_program { static void Main(string[] args) { List<MyTimerData> MyTimers = new List<MyTimerData>(); MyTimers.Add(new MyTimerData()); MyTimers.Last().delay = 1000; MyTimers.Last().parameter = "AVS"; MyTimers.Add(new MyTimerData()); MyTimers.Last().delay = 5000; MyTimers.Last().parameter = "4658sss"; foreach (var t in MyTimers) { var timer = new System.Timers.Timer(t.delay); timer.Elapsed += OnTimeout; timer.AutoReset = true; timer.Enabled = true; } Console.WriteLine("ΠΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡ . . ."); Console.WriteLine("ΠΠ°ΠΆΠΌΠΈΡΠ΅ ENTER ΡΡΠΎ Π±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ"); Console.Read(); } static void OnTimeout(object sender, System.Timers.ElapsedEventArgs e) { var str = new[] { ((MyTimers)sender).Parameter.ToString() }; string path = @"c:\ΠΏΡΠΈΠΌΠ΅Ρ.txt"; if (!File.Exists(path)) File.WriteAllLines(path, str); else File.AppendAllLines(path, str); } } } I have an error
(MyTimers) => var str = new[] { ((MyTimers)sender).Parameter.ToString() };