internal void Start()
{
if (_disposed) throw new ObjectDisposedException("TimerEvent");
DateTime now = DateTime.Now;
if (StartDate > now)
{
_timer = new Timer((StartDate - now).TotalMilliseconds);
_timer.AutoReset = false;
}
else
{
_timer = new Timer(Interval.TotalMilliseconds);
_timer.AutoReset = true;
}
_timer.Elapsed += new ElapsedEventHandler(onTimerElapsed);
_timer.Start();
}