相关疑难解决方法(0)

Microsoft Roslyn与CodeDom

昨天在InfoWorld上关于新微软Roslyn新闻稿中:

这种"解构"编译器最明显的优点是它允许从.Net应用程序内部调用整个编译执行过程.Hejlsberg演示了一个C#程序,它将一些代码片段作为字符串传递给C#编译器; 编译器将生成的IL汇编代码作为对象返回,然后将其传递到公共语言运行库(CLR)以供执行.瞧!使用Roslyn,C#获得了动态语言在运行时生成和调用代码的能力.

自从.NET 4发布以来,我已经能够做到这一点CSharpCodeProvider.CompileAssemblyFromSource,实际上我在之前编写的一个ASP.Net项目中使用它实际上就是这样 - 允许用户在文本框中键入代码,选择程序集/名称空间引用,然后执行并显示该代码的输出,以便在Windows Azure上进行实时环境代码测试.

CodeDomRoslyn的一部分/前身吗?罗斯林的特殊好处是CodeDom什么?

.net codedom roslyn

107
推荐指数
4
解决办法
3万
查看次数

Reflection.Emit与CodeDOM

使用Reflection.Emit库与CodeDOM在运行时动态生成代码有什么优缺点?

我试图在基于XML格式运行时可用元数据的系统中生成一些(相对复杂的)动态类.我将生成扩展应用程序集中现有类的类,实现其他接口,添加方法以及覆盖虚拟和抽象成员.

我想确保在深入实现之前选择适当的技术.有关这些不同代码生成技术如何不同的任何信息都会有所帮助.此外,任何有关简化或简化工作的开源库的信息都将是有用的.

.net c# code-generation codedom reflection.emit

50
推荐指数
3
解决办法
1万
查看次数

在C#中,Expression API比Reflection更好

如今,我正在探索C#Expression API.所以我可以使用一些帮助来理解它是如何工作的,包括Expression和Reflection之间的区别.我还想了解表达式是否仅仅是语法糖,还是它们确实比反射性能更好?

很好的例子以及与好文章的链接将不胜感激.:-)

.net c# reflection expression

43
推荐指数
1
解决办法
1万
查看次数

C#4.0:表达式树与CodeDom

表达式树和CodeDom之间有什么区别?我应该在哪种情况下使用哪个?

c# codedom expression-trees

9
推荐指数
1
解决办法
3839
查看次数