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

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


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

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

Tags:


Thanks:


Alexander

Avatar
Date: 3/20/2012
Reply


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

Trev

Avatar
Date: 3/20/2012
Reply


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

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

Moadip

Avatar
Date: 3/20/2012
Reply


Можно так

Code

bool flag;

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

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


Thanks:

vader

Avatar
Date: 3/21/2012
Reply


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

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

bool checkCondition()
{

}

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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy