J'essaie de comprendre ce que fait ce morceau de code. Il erreurs souvent (pas dans un système dommageable) mais assez que cela me dérange. Ce serait formidable si je pouvais obtenir plus d'informations sur ce qui se passe exactement ici et des suggestions sur la façon dont je pourrais résoudre/empêcher cela.VB.NET Clarification du code délégué
code
Public Shared Sub Fire(ByVal thisEvent As [Delegate], _
ByVal ParamArray args() As Object)
If (thisEvent Is Nothing) Then
Exit Sub
End If
Dim delegates() As [Delegate] = thisEvent.GetInvocationList()
For Each synch As [Delegate] In delegates
Try
synch.DynamicInvoke(args)
Catch ex As System.Exception
Util.utEmail.SendErrorMail("Async event fire error.", ex) //Email out error
End Try
Next
End Sub
Erreur commune
Message utilisateur: événement Async erreur d'incendie.
Type d'erreur: System.Reflection.TargetInvocationException
Message d'erreur: Une exception a été émise par la cible d'un appel.
Emplacement d'erreur: System.Reflection.TargetInvocationException: Une exception a été émise par la cible d'un appel. ---> System.NullReferenceException: Référence d'objet non définie sur une instance d'un objet.
à System.Windows.Forms.Control.MarshaledInvoke (l'appelant de contrôle, méthode délégué, Object [] args, synchrones booléen)
à System.Windows.Forms.Control.Invoke (méthode Delegate, Object [] args)
à TSG.TransIT.UI.UIControls.ctGPViewTrip.updateTrip()
à TSG.TransIT.UI.UIControls.ctGPViewTrip.handleEditTrip (sender d'objets, EditTripAnnouncementEventArgs e)