我们的代码产生了以下未处理的异常:
错误消息:System.Reflection.TargetParameterCountException: 参数计数不匹配。
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化, Boolean skipVisibilityChecks)
在 System.Delegate.DynamicInvokeImpl(Object [] args)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(代表 callback,Object args,Int32 numArgs)
在 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(对象 source,Delegate方法,Object args,Int32 numArgs,Delegate catchHandler)。堆栈跟踪: System.Reflection.TargetParameterCountException:参数计数 不匹配。
在System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr,Binder binder,Object []参数, CultureInfo culture,Boolean skipVisibilityChecks)
在 System.Delegate.DynamicInvokeImpl(Object [] args)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(代表 callback,Object args,Int32 numArgs)
在 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(对象 source,Delegate方法,Object args,Int32 numArgs,Delegate catchHandler)。
我们知道这种情况何时发生。我们将一个项添加到由UI绑定的ObservableCollection。但是,我们无法解释为什么会发生这种情况,或者如何修复它,因为错误很少发生。由于它是一个零星的问题,它不太可能在Bindings或DataTemplates中出现某种错字,因为那些预计每次都会出错。在我们的代码中没有任何地方我们使用Reflection或任何预期在运行时调用参数的东西;例外必须是指Microsoft的一些内部类。此外,堆栈跟踪仅包含Microsoft代码;我们一直无法找到堆栈跟踪本身中许多类的任何文档(即System.Windows.Threading.ExceptionWrapper)。我们如何调试这种错误?有没有办法在这些内部Microsoft类中放置某种断点,以便我们可以看到哪种输入触发了这种行为?