C# System.InvalidOperationException

C# System.InvalidOperationException - C#/.NET managed - Programmation

Marsh Posté le 13-01-2015 à 14:13:02    

Bonjour à tous,
 
J'ai une exception que je comprends , mais je ne vois pas pourquoi elle est lancée.
 
Je pense qu'elle est provoquée par ce bout de code :
 

Code :
  1. try
  2. {
  3.       _lockSection.Wait();
  4.       foreach (AIPlaneInfo Plane in FSUIPCConnection.AITrafficServices.AirbourneTraffic)
  5.       {
  6.             _EmbeddedMapInstance.addAIMarker(convertFSPostoLatLon(Plane.Location), Plane);       
  7.       }
  8.       lesAvions = null;
  9.       _lockSection.Release();
  10. }
  11. catch (System.InvalidOperationException e)
  12. {
  13.       MessageBox.Show(e.Message,"Exception dans addAIPlane" );
  14. }


 
System.InvalidOperationException was unhandled
  HResult=-2146233079
  Message=La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.
  Source=mscorlib
  StackTrace:
       à System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
       à System.Collections.Generic.List`1.Enumerator.MoveNextRare()
       à System.Collections.Generic.List`1.Enumerator.MoveNext()
       à GMap.NET.WindowsForms.GMapOverlay.Render(Graphics g)
       à GMap.NET.WindowsForms.GMapControl.OnPaintOverlays(Graphics g)
       à GMap.NET.WindowsForms.GMapControl.OnPaint(PaintEventArgs e)
       à System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
       à System.Windows.Forms.Control.WmPaint(Message& m)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       à System.Windows.Forms.ContainerControl.WndProc(Message& m)
       à System.Windows.Forms.UserControl.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  InnerException:  
 
Seulement, avec le semaphore, je ne vois pas pourquoi ça pose problème, je sèche :o
Merci :jap:


Message édité par amaurysme le 13-01-2015 à 15:26:44
Reply

Marsh Posté le 13-01-2015 à 14:13:02   

Reply

Marsh Posté le 15-01-2015 à 16:59:56    

Tu n'essaierais pas de modifier la collection que tu es en train de parcourir, à tout hasard ?

Reply

Marsh Posté le 15-01-2015 à 19:32:13    

Ça craint pas de pas faire le _lockSection.Release();  [:croquignol]  
 
(et sinon comme flawlessroll)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed