public static IObservable<long> CreateObservableTimerWithAction(this Action actionT, int timeSpan, Control control)
{
var obs = Observable.Create<long>(
observer =>
{
Observable.Interval(TimeSpan.FromMilliseconds(timeSpan))
.DistinctUntilChanged(fg =>control.Text ).Subscribe(l => actionT());
return Disposable.Empty;
});
return obs;
}
0r:
public static IObservable<long> CreateObservableTimer<T>(this Action actionT,int timeSpan)
{
var obs= Observable.Create<long>(
observer =>
{
Observable.Interval(TimeSpan.FromMilliseconds(timeSpan))
.DistinctUntilChanged().Subscribe(l => actionT());
return Disposable.Empty;
});
return obs;
}
Я использую это довольно часто, чтобы временные методы работали в определенное время, пока я не избавлюсь от них (obs.Dispose ()) ..
CreateObservableTimer (() => CheckForDequeues (1), 500);
На самом деле я иногда использую long, но чаще всего нет ...
Даже используйте этот помощник для проверки планировщиков в очереди с приоритетами, поэтому его можно использовать для