.out 4.0中的Timeout.InfiniteTimespan?

Luc*_*key 15 .net c# timer .net-4.0 .net-4.5

我确实知道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
)
Run Code Online (Sandbox Code Playgroud)

在某些情况下,dueTimeParameter必须是无限的,这意味着不会触发Event.我知道我可以简单地使用其他重载,但我觉得必须要更简单.

我已经尝试过使用new TimeSpan(0, 0, -1)new TimeSpan(-1)作为dueTime.*但是这会引发ArgumentOutOfRangeException指向dueTime参数.

是否有可能创建一个像Timeout.InfiniteTimespan.NET 4.5 一样的文字?

Hab*_*bib 23

TimeOut.InfiniteTimeSpanTimeOut课堂上定义为:

public static readonly TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, Timeout.Infinite);
Run Code Online (Sandbox Code Playgroud)

Timeout.Infinite设置为-1,所以它是传递-1价值毫秒部分.

你可以做:

TimeSpan InfiniteTimeSpan = new TimeSpan(0, 0, 0, 0, -1);
Run Code Online (Sandbox Code Playgroud)


Sri*_*vel 15

无限时间跨度只是TimeSpan毫秒设置为-1

所以,你可以做到

TimeSpan infinite = TimeSpan.FromMilliseconds(-1);
Run Code Online (Sandbox Code Playgroud)