Is there a .NET Timer available in C# that can ensure there is no “drift” in between events? That is, if you set the timer to go off every X seconds, that after days of operating it won’t drift, i.e. to ensure that approach number of X seconds events in a day remains in synch with what it should be?
If not, is there a well known code example that would wrap a Timer function in C# to do this?
sorry for only giving you a link to quartz.net, but this is a fully qualified, enterprise, tested, … library … you don’t need to reinvent the wheel 🙂
if you worry about overhead, what is your definition for overhead? is it the file-size (binaries are about 0,5mb) or the overhead in the logic.
well for the logic-part: i think that implementing their
IJob-interface does a good job to force better code of the consumer. i’m not that big friend of inline-methods (just as an example, as you might fire their pointers on timer elapse) – classes would give you much more possibilities, and once again, force better oop, domain-design, …but: doing
Console.WriteLine(...)with quartz.net would be overkill … 🙂