Sébastien Lebreton
Modification d'assemblage et injection de code C# / VB.NET à la volée
Reflexil est un plugin pour Reflector permettant la modification des assemblages .NET. Il permet par exemple d'altérer le code IL d'un assemblage ou de travailler à plus haut niveau en injectant directement du code C#/VB dans le corps d'une méthode.
Par Sébastien Lebreton publié le 17/09/2007 à 00:34, lu 8103 fois, 9 pages
 6 | Retour sur l'injection de code C# / VB.NET
La compilation du code s'effectue dans un AppDomain séparé pour une libération correcte des ressources. Elle repose sur le mécanisme offert par System.CodeDom. Une fois l'assemblage temporaire compilé, les instructions sont extraites puis réinjectés dans le corps de la méthode originale. Les références aux différents éléments (paramètres, variables, types, etc) sont ajustées pour correspondre aux attentes de l'assemblage original.
Il existe des limitations car pour l'instant il n'est pas possible de faire référence aux champs ni aux méthodes définis dans les types ancestraux du type propriétaire de la méthode originale.
 
» Démarrer une discussion
 
Discussion démarée par Noham Choulant le 18/04/2008 à 13:53, 2 commentaire(s).