2009-10-13 6 views
2

J'ai mon portefeuille qui utilise l'espace de noms CSharpCodeProvider pour compiler par programme le code entré par l'utilisateur. Y a-t-il une classe dans Reflection ou l'un des espaces de nommage "CSharp" qui me permettra de traduire C# en MSIL?Programatically traduire C# à IL

Comment Reflector ou LINQPad font-ils cela?

Merci

Répondre

2

réflecteur IL à C traduit #.

Ce que vous voulez, c'est le contraire. Il est appelé Microsoft.CSharp.CSharpCodeProvider.

Vous le configurez par programme, mais il exécute ensuite le compilateur csc.exe pour générer ce que vous voulez. Si vous définissez la cible sur "netmodule", j'imagine que cela génèrerait une IL nue.

+0

Merci! J'étais juste sur la bibliothèque de référence de classe C# de MSDN à la recherche de la bonne classe, mais je regardais dans les classes de l'Assemblée. Quand j'ai mentionné "CSharp", je parlais de Microsoft.CSharp.xxx. Ta. – dotnetdev

Questions connexes