En supposant que j'utilise Rx, comment puis-je créer un IObservable qui déclenchera un événement toutes les 5 secondes comment puis-je faire commencer l'observable à une date spécifique? Comment puis-je faire feu ses événements à une date ronde (minuit tous les jours?)Comment puis-je démarrer un IObservable à un moment précis?
1
A
Répondre
1
// Do you really care if it's up to five seconds later than midnight?
Observable.Interval(TimeSpan.FromSeconds(5))
.Where(x => DateTime.Now > new DateTime(1,2,2010));
3
Comment puis-je créer un IObservable qui déclenche un événement tous les 5 secondes
Observable. intervalle (TimeSpan.FromSeconds (5))
comment puis-je faire le début observable à une date précise
Vous pouvez utiliser la minuterie pour cela:
// Fire at Jan 2014.
var jan2014 = new DateTimeOffset(2014, 1, 1, 0, 0, 0);
Observable.Timer(jan2014);
Comment puis-je faire feu ses événements à une date ronde
minuterie a une surcharge qui vous permet de (minuit tous les jours?) le feu dans un certain temps, puis chaque période de temps définie. Cela devrait ressembler à ceci:
// Fire at Jan 2014 at midnight, then every 24 hours after that (e.g. every midnight):
var jan2014 = new DateTimeOffset(2014, 1, 1, 0, 0, 0);
Observable.Timer(jan2014, TimeSpan.FromHours(24));