C# 反射。在CCI中发射等价物

C# 反射。在CCI中发射等价物,c#,reflection.emit,cci,C#,Reflection.emit,Cci,埃里克·利珀特 Reflection.Emit太弱,无法用于构建真正的编译器。它非常适合用于小玩具编译任务,如在LINQ查询中发出动态调用站点和表达式树,但对于编译器中遇到的各种问题,您将很快超过它的功能。使用CCI,而不是Reflection.Emit 不幸的是,我有一个真正的编译器是在Reflection.Emit上构建的(不是我自己)。它痛苦地与这些限制相冲突,我想将emit代码转换为CCI。不过,我发现了一些似乎没有任何等价物的东西 例如,行: _asmBuilder.D

埃里克·利珀特

Reflection.Emit太弱,无法用于构建真正的编译器。它非常适合用于小玩具编译任务,如在LINQ查询中发出动态调用站点和表达式树,但对于编译器中遇到的各种问题,您将很快超过它的功能。使用CCI,而不是Reflection.Emit

不幸的是,我有一个真正的编译器是在Reflection.Emit上构建的(不是我自己)。它痛苦地与这些限制相冲突,我想将emit代码转换为CCI。不过,我发现了一些似乎没有任何等价物的东西

例如,行:

        _asmBuilder.DefineVersionInfoResource();

        _moduleBuilder.CreateGlobalFunctions(); //setup global .data
我看不出有任何方法可以做同样的事情,尤其是当我首先找不到任何与ModuleBuilder等价的方法时

关于如何将Reflection.Emit项目转换为CCI,是否有好的参考或文档