Jak przekazać obiekt do metody Timera

0

mam coś takiego:

  private void OnTimeCheckConnection(object sender, EventArgs e)
        {
            System.Timers.Timer ti = new System.Timers.Timer();
            ti.Elapsed += new ElapsedEventHandler(ChangeStatusToUnlogged);
            ti.Interval = 1000;
            ti.AutoReset = false;            
            ti.Start();
          
        }

        private void ChangeStatusToUnlogged(object sender, ElapsedEventArgs e)
        {
            
        }

i wywołanie.

connectedStatus(tinfo, null);

Chciałbym obiekt tinfo przekazać do metody ChangeStatusToUnlogged. Jak to zrobić?

0

A co to jest connectedStatus?

0
private event EventHandler connectedStatus;
 connectedStatus += new EventHandler(OnTimeCheckConnection);
System.Timers.Timer

nie ma Tagu do przekazywania obiektów. Stąd ten problem.

0

Użyj pola klasy. Weź tylko pod uwagę, że ChangeStatusToUnlogged może i najprawdopodobniej będzie uruchomione na innym wątku.

0

zrobiłem coś takiego:

public class MyTimer : System.Timers.Timer
        {
            public object Tag { get; set; }
        }
 private void ChangeStatusToUnlogged(object sender, ElapsedEventArgs e)
        {
            MyTimer ti = (MyTimer)sender;
            TimerInfo tinfo = (TimerInfo)ti.Tag;


        }
 
0

Jak przekazać do ChangeStatusToUnlogged informację, żeby przerwało wykonywanie tamtego kodu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1