对于Ensure.GreaterThanZero(timeout, nameof(timeout));我尝试if (timeout <= 0) throw new ArgumentException(nameof(timeout));,但它显示的错误
运算符'<='不能应用于'TimeSpan'和'int'类型的操作数
该timeout变量是一个TimeSpan(显然),并且因此<= 0不工作,因为一TimeSpan具有没有operator <=(TimeSpan, int)限定.
您有三个选项,创建一个新的"零时间"TimeSpan:
if (timeout <= TimeSpan.FromTicks(0))
Run Code Online (Sandbox Code Playgroud)
或者TimeSpan.Ticks与0比较:
if (timeout.Ticks <= 0)
Run Code Online (Sandbox Code Playgroud)
或者,正如Panagiotis Kanavos所说,使用TimeSpan.Zero:
if (timeout <= TimeSpan.Zero)
Run Code Online (Sandbox Code Playgroud)
错误消息很明显 - 您无法将TimeSpan值与整数进行比较.
请尝试使用TimeSpan.Zero:
if (timeout<=TimeSpan.Zero) throw new ArgumentException(nameof(timeout));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |