我一直在尝试使用以下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;
}
如果我将Mytimer
间隔设置为单个值,则上述操作会毫无问题地运行,如下所示。
Mytimer.Interval = 5000;
答案 0 :(得分:8)
您必须匹配类型,Interval
是毫秒(double
)而不是TimeSpan
。所以你可以这样做:
MyTimer.Interval = new TimeSpan(0,0,5000).TotalMilliseconds;
或
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
答案 1 :(得分:0)
间隔是双倍而不是时间跨度。
答案 2 :(得分:0)
Timer中定义的区间属性,以便我们可以指定双值
[TimersDescriptionAttribute("TimerInterval")]
[SettingsBindableAttribute(true)]
public double Interval { get; set; }