原文:CodeDom

细说CodeDom 在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系。 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下。严格上说,Emit并不是针对代码文档生成和编译而设计的,Emit一方面可以实时发出 IL 指令,另一方面也支持动态程序集,即可以在运行时创建程序集,并可以定义类型,然后可以执行。而CodeDom所针对的是代码文 ...

2016-12-14 23:20 0 1568 推荐指数:

查看详情

使用CodeDom动态生成类型

.NET 3.5的时候加入了匿名类型这个特性,我们可以直接使用 new {name="abc"} 来直接生成一个对象。这个特性现在应用的地方很多,比如dapper的查询参数都是用匿名对象。 其实匿名对 ...

Sat Oct 29 08:14:00 CST 2016 4 1819
纯c#编写的脚本引擎(非CodeDom)

  前段时间有个项目,因为其中需要使用脚本做模板数据的计算,因此让我对脚本引擎产生了兴趣,于是上网到处寻找资料,于是找到了《龙书》、CodeDom。于是又找了半天,找不到开源的脚本引擎源码,脑袋一热,干脆自己写一个,于是就有了这个用纯c#(非CodeDom)编写的脚本引擎。编写过程中收获良多 ...

Thu Sep 27 18:33:00 CST 2012 25 7650
【.net 深呼吸】细说CodeDom(2):表达式、语句

在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系。 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下。严格上说,Emit并不是针对代码文档生成和编译而设计的,Emit一方面可以实时发出 IL 指令,另一方面也支持动态程序集 ...

Sun Dec 11 19:10:00 CST 2016 7 3912
【.net 深呼吸】细说CodeDom(9):动态编译

知道了如果构建代码文档,知道了如何生成代码,那么编译程序集就很简单了。 CodeDomProvider 类提供了三个可以执行编译的方法: 1、CompileAssemblyFromSource—— ...

Fri Jan 13 02:13:00 CST 2017 1 2031
利用Refly和CodeDom实现代码的动态生成和动态编译

CodeDom是.NET框架中比较强大也是比较难懂的对象模型,通过它可以实现.NET支持各种语言代码的动态生成及动态编译。我们先来看看CodeDom的定义:.NET Framework 中包含一个名为“代码文档对象模型”(CodeDOM) 的机制,该机制使编写源代码的程序的开发人员可以在运 ...

Sat Mar 31 05:52:00 CST 2012 3 3165
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM