2009-07-24 8 views
1

J'ai un peu de code qui appelle la méthode InvokeMember sur un type. Ceci est correct et fonctionne cependant si une exception se produit dans le membre invoqué alors le débogage saute à l'endroit où j'appelle InvokeMember par opposition à l'exception interne.Gestion de type .InvokeMember Exceptions internes bien

Est-il possible de contourner ce problème afin que le code débogue comme prévu?

Répondre

3

Oui, c'est possible. Appuyez sur Ctrl-Alt-E dans Visual Studio pour afficher la boîte de dialogue Exceptions. Cochez la case pour interrompre les exceptions d'exécution Thrown Common Language (pas seulement les exceptions non gérées par l'utilisateur). Déboguez maintenant votre code et vous le trouverez dans votre méthode appelée par réflexion.

+0

Fantastique! Fonctionne parfaitement. –

-2

En réalité, cela n'est pas possible, car les classes de réflexion invoquent les méthodes d'une manière différente de ce à quoi vous vous attendez. Il est très indirect et si vous exécutez réellement le débogueur, vous verriez les différentes lignes de code exécutées dans les fichiers de bibliothèque et vous ne comprendrez rien qui en vaille la peine.

Questions connexes