public void Remove(ReminderCallback callback, DateTime dateTime)
{
lock (this)
{
for (int i = 0; i < Count; i++)
{
var reminder = (Reminder)this.events[i];
if (reminder.Callback == callback && reminder.DateTime == dateTime)
{
this.events.RemoveAt(i);
if (i == 0 && this.events.Count != 0)
{
this.dateTime = this.events[0].DateTime;
}
break;
}
}
}
}
}