不能隐式地将类型'system.timespan'转换为double

JNW*_*JNW 1 c# timer

我一直试图timer用以下timespan(小时,分钟,秒)添加到我的代码.但无法理解为什么我一直有以下错误:

无法将类型'System.timespan'隐式转换为double.

这是我的代码.

public static void Main(string[] args)
{
    System.Timers.Timer MyTimer = new System.Timers.Timer();
    MyTimer.Elapsed += new ElapsedEventHandler(onTimedEvent);
    MyTimer.Interval = new TimeSpan(0,0,5000);
    MyTimer.Enabled = true;
} 
Run Code Online (Sandbox Code Playgroud)

如果我将Mytimer间隔设置为单个值,则上面的运行没有任何问题,如下所示.

 Mytimer.Interval = 5000;
Run Code Online (Sandbox Code Playgroud)

Igo*_*gor 8

你必须匹配类型,Interval是毫秒(a double)而不是a TimeSpan.所以你可以这样做:

MyTimer.Interval = new TimeSpan(0,0,5000).TotalMilliseconds;
Run Code Online (Sandbox Code Playgroud)

要么

MyTimer.Interval = 5000; 
// assuming you meant 5000 milliseconds above and not 5000 seconds
// if not multiple by 1000 for seconds, again by 60 for minutes, again by 60 for hours, etc
Run Code Online (Sandbox Code Playgroud)