Je veux un moyen de pouvoir planifier des rappels, je veux pouvoir enregistrer beaucoup de différents rappels à différents moments à un "Scheduler" -objet. Quelque chose comme ça.Programmer des appels de délégué
public class Foo
{
public void Bar()
{
Scheduler s = new Scheduler();
s.Schedule(() => Debug.WriteLine("Hello in an hour!"), DateTime.Now.AddHours(1));
s.Schedule(() => Debug.WriteLine("Hello a week later!"), DateTime.Now.AddDays(7));
}
}
La meilleure façon que je peux venir avec la mise en œuvre du planificateur est d'avoir une minuterie en cours d'exécution à l'intérieur à un intervalle donné et chaque fois que l'intervalle est écoulé, je vérifie les callbacks enregistrés et voir s'il est temps de les appeler si c'est le cas. Ceci est assez simple mais a l'inconvénient que vous obtenez seulement la "résolution" de la minuterie. Disons que la minuterie est réglée pour cocher une fois par seconde et que vous enregistrez un rappel pour être appelé en une demi-seconde, il ne peut toujours pas être appelé pendant une seconde entière.
Existe-t-il une meilleure façon de résoudre ce problème?
Je jure que j'ai pensé à cette solution l'instance que j'ai frappé le bouton d'envoi sur la question. Il est bon de savoir que c'est la bonne approche. –