Est-il possible de lier une méthode marquée avec MethodImplOptions.InternalCall à son implémentation?

En essayant de trouver la cause possible d’une exception, je suis un chemin de code en utilisant Reflector. J’ai de plus en plus profond, mais je me suis retrouvé à un appel de méthode qui ressemble à:

[MethodImpl(MethodImplOptions.InternalCall)] private extern void SomeMethod(int someParameter); 

Ce balisage sur la méthode indique au framework d’appeler une fonction C ++ quelque part. Existe-t-il un moyen de savoir quelle méthode est appelée et d’autres méthodes susceptibles d’être appelées?

NB: Je ne veux pas vraiment voir le code source de cette méthode, je veux juste savoir ce qui pourrait renvoyer l’exception que je vois qui provient de cet appel à la méthode.

Les appels internes finissent par appeler une fonction C ++ dans le CLR. Vous pouvez les retrouver dans le code source du Rotor . Examinez clr \ src \ vm \ ecall.cpp pour rechercher le mappage du nom visible .NET au nom de la fonction CLR. Attention, la source commence à être datée.

Si vous voulez savoir quelles méthodes peuvent générer un type d’exception donné, vous pouvez utiliser http://www.red-gate.com/products/Exception_Hunter/index.htm.