Пример #1
0
        /// <summary>
        /// Default contructor.
        /// </summary>
        public TimerEx(TimerExCallback callback)
        {
#if NETSTANDARD
            m_Timer = new Timer(WrapCallback(callback), null, NO_START, TimeSpan.FromMilliseconds(m_Interval));
#else
            m_Timer          = new Timer(DEFAULT_INTERVAL);
            m_Timer.Elapsed += new System.Timers.ElapsedEventHandler(callback);
#endif
        }
Пример #2
0
        /// <summary>
        /// Default contructor.
        /// </summary>
        /// <param name="interval">The time in milliseconds between events.</param>
        /// <param name="autoReset">Specifies if timer is auto reseted.</param>
        public TimerEx(TimerExCallback callback, double interval, bool autoReset)
        {
#if NETSTANDARD
            m_Interval  = interval;
            m_AutoReset = autoReset;
            m_Timer     = new Timer(WrapCallback(callback), null, NO_START, TimeSpan.FromMilliseconds(m_Interval));
#else
            m_Timer           = new Timer(interval);
            m_Timer.Elapsed  += new System.Timers.ElapsedEventHandler(callback);
            m_Timer.AutoReset = autoReset;
#endif
        }
Пример #3
0
 TimerCallback WrapCallback(TimerExCallback inner)
 {
     return
         (delegate(Object state) {
         if (!m_AutoReset)
         {
             if (m_AutoResetRun > 0)
             {
                 Stop();
                 return;
             }
             m_AutoResetRun++;
         }
         inner(state);
     });
 }