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 2824 fois, 9 pages
 5 | Compilation et injection de code C# / VB.NET à la volée
Il est possible de choisir le langage d'injection via la fenêtre de configuration de Reflexil. Il est également possible de choisir les bases d'affichage et de saisie des nombres entiers (binaire, octale, décimale, hexadécimale) :
 
Configuration de Reflexil

Configuration de Reflexil

 
Utilisons l'option « Replace all with code » sur le corps de la fonction « ComputeAndDisplay » :
 
Editeur IL de Reflexil

Editeur IL de Reflexil

 
Une fenêtre de compilation nous permet de visualiser le code IL résultant :
 
Fenêtre de compilation C#

Fenêtre de compilation C#

 
Nous pouvons recommencer avec le language VB.NET, notez que nous obtenons dans ce cas simple, un code IL identique (ce qui n'est pas toujours le cas)
 
Fenêtre de compilation VB.NET

Fenêtre de compilation VB.NET

 
Sauvegardons l'assemblage modifié puis testons :
 
Test de l'assemblage modifié

Test de l'assemblage modifié

 
 
» Démarrer une discussion
 
Discussion démarée par Noham Choulant le 18/04/2008 à 13:53, 2 commentaire(s).