/// <summary> /// Initializes a new instance of the <see cref="GuiTimer" /> class. /// </summary> /// <param name="contextType">Type of the context.</param> /// <param name="interval">The interval.</param> /// <param name="callback">The callback.</param> /// <param name="disposeCallback">The dispose callback.</param> public GuiTimer(GuiContextType contextType, TimeSpan interval, Action callback, Action disposeCallback) { ContextType = contextType; Interval = interval; TimerCallback = callback; DisposeCallback = disposeCallback; switch (contextType) { case GuiContextType.None: { ThreadingTimer = CreateThreadingTimer(); break; } case GuiContextType.WPF: { DispatcherTimer = CreateDispatcherTimer(); break; } case GuiContextType.WinForms: { FormsTimer = CreateFormsTimer(); break; } } }
/// <summary> /// Initializes a new instance of the <see cref="GuiTimer" /> class. /// </summary> /// <param name="contextType">Type of the context.</param> /// <param name="interval">The interval.</param> /// <param name="callback">The callback.</param> public GuiTimer(GuiContextType contextType, TimeSpan interval, Action callback) { Interval = interval; TimerCallback = callback; switch (contextType) { case GuiContextType.WPF: { DispatcherTimer = CreateDispatcherTimer(); break; } case GuiContextType.WinForms: { FormsTimer = CreateFormsTimer(); break; } default: { ThreadingTimer = CreateThreadingTimer(); break; } } StartTimer(); }