Tengo aplicación multihilos y me sale este errorcolección se modificó, la operación de enumeración no podrá ejecutar
************** Exception Text **************
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Collections.Generic.List`1.Enumerator.MoveNext()
...
Probablemente tengo un problema con mi colección, ya que por un hilo que había leído mi colección y el otro hilo modifico colección.
public readonly ObservableCollectionThreadSafe<GMapMarker> Markers = new ObservableCollectionThreadSafe<GMapMarker>();
public void problem()
{
foreach (GMapMarker m in Markers)
{
...
}
}
Estoy tratando de bloquear la recopilación con este código, pero no funciona.
public void problem()
{
lock(Markers)
{
foreach (GMapMarker m in Markers)
{
...
}
}
}
¿Alguna idea para solucionar ese problema?
Se problema es con el código dentro del 'foreach', por favor, publicarlo. – nemesv
no puedes modificar la colección mientras bucles con foreach – Reniuz