This class can execute actions
on a periodic basis. Actions
can be performed once or multiple times. The constructor takes a
TimerCallback delegate, a state
object, a due time, and a period. Both due time
and period are measured in milliseconds. Use the state argument to
hold state information between delegate calls, or pass in
null if you don't have any state
to maintain. After the timer is created, it begins counting down
until due time has expired, and then it invokes the delegate. The
period is the amount of time to wait between delegate invocations
before resuming the countdown again.
If the period is zero, the timer executes only once. If either due
time or period are negative (and not equal to
Timeout.Infinite), the constructor fails, throwing
an System.ArgumentOutOfRangeException.
Change( ) changes the due time and period after
the timer is created. Specify a due time of
Timeout.Infinite to halt the timer. An
Infinite period prevents the timer from being
raised repeatedly.
public sealed class Timer : MarshalByRefObject, IDisposable {
// Public Constructors
public Timer(TimerCallback callback, object state, int dueTime, int period);
public Timer(TimerCallback callback, object state, long dueTime, long period);
public Timer(TimerCallback callback, object state, TimeSpan dueTime, TimeSpan period);
public Timer(TimerCallback callback, object state, uint dueTime, uint period);
// Public Instance Methods
public bool Change(int dueTime, int period);
public bool Change(long dueTime, long period);
public bool Change(TimeSpan dueTime, TimeSpan period);
public bool Change(uint dueTime, uint period);
public bool Dispose(WaitHandle notifyObject);
public void Dispose( );
// implements IDisposable
// Protected Instance Methods
protected override void Finalize( );
// overrides object
}