Guest User

Untitled

a guest
Aug 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. How do I get access to the object which the Timer is attached to?
  2. public void DoStuff()
  3. {
  4. List<IProcess> processorsForService1 = processorsForService1 = ProcessFactory.GetProcessors();
  5.  
  6. foreach (IProcess p in processorsForService1)
  7. {
  8. if (p.ProcessTimer != null)
  9. {
  10. p.ProcessTimer.Elapsed += new ElapsedEventHandler(IProcess_Timer_Elapsed);
  11. }
  12. }
  13. }
  14.  
  15. private void IProcess_Timer_Elapsed(object sender, ElapsedEventArgs e)
  16. {
  17. IProcess p = (IProcess)sender;
  18. p.Step_One();
  19. p.Step_Two();
  20. }
  21.  
  22. private void MyTimerCallbackMethod(object state)
  23. {
  24.  
  25. }
  26.  
  27. var timerCallback = new TimerCallback(MyTimerCallback);
  28. var timer = new Timer(timerCallback, myStateObject,
  29. Timeout.Infinite, Timeout.Infinite);
  30.  
  31. public void DoStuff()
  32. {
  33. List<IProcess> processorsForService1 = ProcessFactory.GetProcessors();
  34. foreach (IProcess p in processorsForService1)
  35. {
  36. if (p.ProcessTimer != null)
  37. {
  38. p.ProcessTimer.Elapsed += (s, e) =>
  39. {
  40. p.Step_One();
  41. p.Step_Two();
  42. };
  43. }
  44. }
  45. }
  46.  
  47. p.ProcessTimer.Elapsed += new ElapsedEventHandler(p.IProcess_Timer_Elapsed);
  48.  
  49. class IProcess
  50. {
  51. public delegate void Timer_Elapsed_Handler (IProcess process, ElapsedEventArgs e);
  52. public event Timer_Elapsed_Handler Timer_Elapsed;
  53.  
  54. public void IProcess_Timer_Elapsed (object sender, ElapsedEventArgs e)
  55. {
  56. if (Timer_Elapsed != null) Timer_Elapsed (this, e);
  57. }
  58. }
Add Comment
Please, Sign In to add comment