2016-08-24 27 views
-2

我有这样的代码=>无法将“双”到“廉政” C#

var timer = new System.Threading.Timer((e) => 
{ 
    upload(); 
}, null, 0, TimeSpan.FromMinutes(5).TotalMilliseconds); 

它应该执行这种方法,每5分钟,但是不断抛出 错误:无法转换“双”,以“诠释”。这是没有意义的,因为我有其他字符串比“upload()”,如“FTPFileUploader.upload()”,它会正常工作。虽然我不想那样...请帮助...提前致谢!

回答

0

从有关TimeSpan的文档中,构造函数需要一个int值,但是您从TimeSpan字段TotalMilliseconds中给出一个double值。

您需要在TimeSpan的构造函数中将double赋值给int。

(int)TimeSpan.FromMinutes(5).TotalMilliseconds 
0

TotalMilliseconds返回一个双,而因为它返回时间跨度的毫秒部分毫秒将返回int,而TotalMilliseconds返回由时间跨度表示的总量。

1

System.Threading.Timer带一个整数,但下面的代码返回一个双

TimeSpan.FromMinutes(5).TotalMilliseconds 

所以,你需要将其转换为整数:

(int)TimeSpan.FromMinutes(5).TotalMilliseconds 
相关问题