Timeout.InfiniteTimespan 在 .Net 4.0 中?
Timeout.InfiniteTimespan in .Net 4.0?
我确实知道 Timeout.InfiniteTimespan
在 .NET 4.0 中不存在。
注意到,还有 Timeout.Infinite
确实存在于 .NET 4.0
我正在调用这两个方法:
// the Change-Method
public bool Change(
TimeSpan dueTime,
TimeSpan period
)
// the Constructor of Timer
public Timer(
TimerCallback callback,
Object state,
TimeSpan dueTime,
TimeSpan period
)
在某些情况下,dueTime
参数需要是无限的,这意味着事件不会被触发。我知道我可以简单地使用其他重载,但我觉得必须更简单一些。
我已经尝试使用 new TimeSpan(0, 0, -1)
或 new TimeSpan(-1)
作为到期时间。 *但这会引发指向 dueTime
参数的 ArgumentOutOfRangeException
。
是否有可能从 .NET 4.5 中创建类似于 Timeout.InfiniteTimespan
的文字?
如果您的模型支持 "due" 时间不存在的事件,则将其设置为无穷大以表明这似乎是错误的。为什么不使参数可为空?
无限时间跨度只不过是TimeSpan
,毫秒设置为-1
所以,你可以这样做
TimeSpan infinite = TimeSpan.FromMilliseconds(-1);
TimeOut.InfiniteTimeSpan
在 TimeOut
class is defined 中:
public static readonly TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, Timeout.Infinite);
其中 Timeout.Infinite
设置为 -1
,因此它传递 -1
毫秒值 部分。
你可以这样做:
TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, -1);
我确实知道 Timeout.InfiniteTimespan
在 .NET 4.0 中不存在。
注意到,还有 Timeout.Infinite
确实存在于 .NET 4.0
我正在调用这两个方法:
// the Change-Method
public bool Change(
TimeSpan dueTime,
TimeSpan period
)
// the Constructor of Timer
public Timer(
TimerCallback callback,
Object state,
TimeSpan dueTime,
TimeSpan period
)
在某些情况下,dueTime
参数需要是无限的,这意味着事件不会被触发。我知道我可以简单地使用其他重载,但我觉得必须更简单一些。
我已经尝试使用 new TimeSpan(0, 0, -1)
或 new TimeSpan(-1)
作为到期时间。 *但这会引发指向 dueTime
参数的 ArgumentOutOfRangeException
。
是否有可能从 .NET 4.5 中创建类似于 Timeout.InfiniteTimespan
的文字?
如果您的模型支持 "due" 时间不存在的事件,则将其设置为无穷大以表明这似乎是错误的。为什么不使参数可为空?
无限时间跨度只不过是TimeSpan
,毫秒设置为-1
所以,你可以这样做
TimeSpan infinite = TimeSpan.FromMilliseconds(-1);
TimeOut.InfiniteTimeSpan
在 TimeOut
class is defined 中:
public static readonly TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, Timeout.Infinite);
其中 Timeout.Infinite
设置为 -1
,因此它传递 -1
毫秒值 部分。
你可以这样做:
TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, -1);