首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从C#源代码发出IL OpCodes

从C#源代码发出IL OpCodes
EN

Stack Overflow用户
提问于 2012-06-04 20:24:16
回答 2查看 1.1K关注 0票数 2

如何解析C#源代码以生成可以在DynamicMethod中使用的IL操作码?

我希望在不生成不必要的程序集的情况下动态执行代码。如下所示:

代码语言:javascript
复制
var body = "return \"sample\";";
var dm = new DynamicMethod("method_" + Guid.NewGuid().ToString("N"), typeof(string), null);
var parser = new SomeKindOfCSharpParser();
parser.Emit(body, m.GetILGenerator());
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-04 20:36:02

Roslyn应该是类似这样的东西……

票数 1
EN

Stack Overflow用户

发布于 2012-06-04 20:33:06

没有办法实现它。

您有几种方法来实现它:

  1. 您可以使用C#编译器,但它会将外部cs文件编译成单独的程序集。
  2. 您可以使用CodeDOM构建和编译代码树
  3. 您可以构建表达式树并编译它
  4. 您可以一条接一条IL指令生成代码<

>G29

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10881225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档