Проверка условий события через равные промежутки времени до первого выполнения условия

Проверка условий события через равные промежутки времени до первого выполнения условия
Atom
20.03.2012
Trev


Подскажите пожалуйста как задать событие, которое будет каждые 10 секунд проверять некое условие и при наступлении этого условия проверка прекратиться ?
Я пытался сделать так
Код
this
 .When(Rule1, TimeSpan.FromSeconds(10)) // будем проверять условие Rule1 с периодичностью 10 секунд
 .Do(Calculate)
 .Periodical(() => DateTime.Now.Hour - startTime.Hour == 1); // выполняем до тех пор, пока текущий час не закончится. Сюда нужно добавить условие на завершение, но какое ?

Заранее спасибо !

Теги:


Спасибо:


Alexander

Фотография
Дата: 20.03.2012
Ответить


Будет выполняться пока будет срабатывать условие в Periodical.
Спасибо:

Trev

Фотография
Дата: 20.03.2012
Ответить


Alexander Mukhanchikov
Будет выполняться пока будет срабатывать условие в Periodical.

Хм, возможно я не правильно вопрос задал. Я хотел что бы проверка условия Rule1 происходила каждые 10 секунд до тех пор, пока условие Rule1 не выполнится или до тех пор пока не будет выполнено условие в Periodical.
Спасибо:

Moadip

Фотография
Дата: 20.03.2012
Ответить


Можно так

Код

bool flag;

this
 .When(Rule1, TimeSpan.FromSeconds(10))
 .Do(Calculate)
 .Periodical(() => flag);

void Calculate()
{
  ...
  flag = true;
}


Спасибо:

vader

Фотография
Дата: 21.03.2012
Ответить


Подумайте, может стоит сделать так?
Код

this.When(checkCondition, TimeSpan.FromSeconds(10))
                .Do(DoWork)

bool checkCondition()
{

}

Эта конструкция будет с интервалом в 10 сек проверять условие checkCondition и вызывать метод DoWork, пока checkCondition возвращает true.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy