在客户端系统的日志中记录了以下异常。
System.ArgumentOutOfRangeException: Value to add was out of range.
Parameter name: value
at System.DateTime.Add(Double value, Int32 scale)
at ButtonPressed()
at MessageEvent(MessageEventArgs e)
自定义方法相当简单
Public Sub ButtonPressed
If mWindows.Count > 0 AndAlso mLastEvent.AddSeconds(1) > Now
PostMessage(New IntPtr(mHwnd), 1125, UIntPtr.Zero, IntPtr.Zero)
End If
End Sub
我很难解释这样的调用堆栈是如何可能的,因为DateTime.Add(Double value, Int32 scale)
它是一个私有方法,而不是由我的代码调用。
DateTime.Now 抛出异常似乎在多线程环境中对此给出了解释。但是我的调用堆栈上没有调用,DateTime.get_Now
所以它真的是相同的根本原因吗?