代码之家  ›  专栏  ›  技术社区  ›  codekaizen

紧凑框架的ILASM?

  •  2
  • codekaizen  · 技术社区  · 16 年前

    我正在Compact框架上使用Linq表达式树(来自db4o/Mainsoft/Mono端口)。由于System.Reflection.Emit不存在,因此我无法将LambdaExpressions编译为委托,出于性能原因,我希望这样做。

    我想也许我可以将我的表达式树转换为IL,并基本上以这种方式提供缺少的Emit功能,但后来我意识到我必须在它上运行基于WinCE的ILASM,或者编写我自己的PE头和相关元数据。

    它是?

    2 回复  |  直到 14 年前
        1
  •  2
  •   codekaizen    16 年前

    显然,我可以编译 Mono.Cecil

        2
  •  1
  •   TcKs    16 年前

    如果要在CF上使用Lambda表达式,则不需要ILASM或System.Reflection.Emit。CF的C#编译器支持Lamba表达式,但CF基本库没有表达式类。如果为表达式添加对具有正确命名(和正确实现)类的程序集的引用,则启用Lambda表达式。

    http://evain.net/blog/articles/2008/09/22/linq-expression-trees-on-the-compact-framework )-我将它与Db4O数据访问一起使用,并使用LINQ IQueryableToolkit用于SqlCE,效果很好。

    推荐文章