System.InvalidOperationException奇怪的错误[重复]

问题描述 投票:-3回答:1

这个问题在这里已有答案:

有没有人看到这个错误?我无法理解它做了什么代码语句,因为它在stacktrace中不可用。

System.InvalidOperationException:集合已被修改;枚举操作可能无法执行。在MS的System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback,Object args,Int32 numArgs)的System.Reactive.AnonymousSafeObserver1.OnError(Exception error) at System.Reactive.Concurrency.ObserveOn1.?.OnErrorPosted(Object error)处的System.Reactive.PlatformServices.DefaultExceptionServices.Rethrow(异常异常)处.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,Delegate方法,Object args,Int32 numArgs,Delegate catchHandler)

应用程序是使用Reactive的Wpf C#.net。有多个位置使用Reactive,并且使用lock作为同步机制锁定集合以进行读/写操作。

注意:在整个代码中,我不会遍历订阅者列表或修改它。

c# wpf system.reactive
1个回答
0
投票

你有一个foreach调用枚举集合上的一些更改。这是不允许的。

或者,另一个线程同时更改枚举集合,这也将导致异常。

© www.soinside.com 2019 - 2024. All rights reserved.