У меня есть приложение winform, которое читает и изменяет файлы, переименовывает их и т. Д.
Каждый раз, когда состояние меняется (изменить, переименовать, работает ... и т. Д.), Состояние отображается в соответствующей метке, иногда следующие файлы, которые необходимо обработать, приходят с задержкой в несколько секунд, и когда это происходит, я хочу отсчет таймера, который отображает время пока не придет следующий файл.
В основном классе у меня есть свойство (тип double), которое получает время в секундах, когда придет следующий файл.
Я хочу, чтобы таймер запускался с интервалом более пяти секунд.
И когда это произойдет, свойство получит количество секунд, и таймер должен прочитать это двойное значение и обратный отсчет.
Как я могу проверить эту переменную все время, и когда он получит соответствующее значение, таймер запустится?
Вот мой класс, как узнать время задержки:
public class Delay
{
public event EventHandler _largeWait;
public Delay(int numberOfSeconds)
{
_numberOfSeconds = numberOfSeconds;
}
public double _delayTime;
public double _packetDelay
{
get { return _packetDelay; }
set
{
_packetDelay = value;
if (value > 5 && _largeWait != null)
{
_largeWait(this, EventArgs.Empty);
}
}
}
}
И затем в месте, где я создаю экземпляр Delay: (после вставки значения в переменную задержки)
_largeWait += (s, e) =>
{
if (_largeWait != null)
{
_largeWait(s, e);
}
};
проблема здесь в том, что это стало рекурсией, и я не знаю, почему