Beispiel #1
0
        /// <summary>
        /// リストからクライアントを削除。
        /// 指定したクライアントがリストに存在しなければ何もしない。
        /// </summary>
        /// <param name="client">自動更新の対象から外すクライアント</param>
        public override void Remove(ThreadControl client)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            int index = IndexOf(client);

            if (index != -1)
            {
                // イベントを削除
                client.Complete -= new CompleteEventHandler(OnComplete);

                TimerObject timer = (TimerObject)timerCollection[index];
                timerCollection.Remove(timer);

                if (timer.Enabled)
                {
                    timer.Stop();
                    Increment();
                }

                timer.Dispose();
            }

            if (timerCollection.Count == 0)
            {
                running = false;
            }
        }
Beispiel #2
0
        /// <summary>
        /// すべてのタイマーを削除
        /// </summary>
        public override void Clear()
        {
            if (current != null)
            {
                current.Dispose();
                current = null;

                timerCollection.Clear();
            }
        }
Beispiel #3
0
        /// <summary>
        /// リストからクライアントを削除。
        /// 指定したクライアントがリストに存在しなければ何もしない。
        /// </summary>
        /// <param name="client">自動更新の対象から外すクライアント</param>
        public override void Remove(ThreadControl client)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            int index = IndexOf(client);

            if (index != -1)
            {
                // イベントを削除
                client.Complete -= new CompleteEventHandler(OnComplete);

                lock (timerList)
                {
                    TimerObject timer = timerList[index];
                    timer.Dispose();

                    timerList.Remove(timer);
                }
            }
        }