Устранение ошибки: "Таймер" - это неоднозначная ссылка между "System.Windows.Forms.Timer" и "System.Timers.Timer"
Я пытаюсь создать приложение формы Windows, и я хочу реализовать таймер.
public void timerStart()
{
DateTime now = DateTime.Now;
DateTime finish = base.taskEndDate;
finish = finish.AddHours(_appointmentTime.Hours); //_appointmentTime is a user defined value.
finish = finish.AddMinutes(_appointmentTime.Minutes);
finish = finish.AddMilliseconds(_appointmentTime.Milliseconds);
//Calculating the milliseconds left till task ends.
int daysLeft = finish.Day - now.Day;
int hoursLeft = finish.Hour - now.Hour;
int minsLeft = finish.Minute - now.Minute;
int secLeft = finish.Second - now.Second;
int milLeft = finish.Millisecond - now.Millisecond;
//Preparing to Start the timer.
TimeSpan end = new TimeSpan(daysLeft, hoursLeft, minsLeft, secLeft, minsLeft);
MessageBox.Show(end.ToString());
double x = end.TotalMilliseconds;
System.Timers.Timer _timer = new Timer(x);
}
Как я определил свой метод, но я получаю ошибку
'Timer' is an ambiguous reference between 'System.Windows.Forms.Timer' and 'System.Timers.Timer'
И я не уверен, как решить эту ошибку. Как только таймер закончится, я планирую сделать событие, которое предупредит пользователя. Я не хочу, чтобы таймер появился в форме.
3 ответа
Решение
Вы, кажется, добавили оба using
Рекомендации (System.Windows.Forms
а также System.Timers
). Поэтому либо удалите один, либо полностью определите имя типа:
System.Timers.Timer _timer = new System.Timers.Timer(x);
Вы можете устранить их неоднозначность, используя псевдоним типа, например так:
using System.Timers;
using Timer = System.Timers.Timer;
System.Timers.Timer _timer = new System.Timers.Timer(x);
Таймеры не отображаются в форме, они не являются визуальными.
Также имейте в виду различия между (тремя!) Таймерами разных типов в DNF.