摘要: CLR自带了各种语言的编译器,例如C#、VB等。通过这些编译器以及反射,可以实现以前在其它环境中做不到的事情:运行时代码生成和编译。 作为一个应用,我们以对象工厂作为示例。对象工厂是通过一些标识符,在运行时生成不同对象的一种设计模式,通常的代码形式为: publicclassObjectFactory{publicstaticobjectCreateInstance(stringid){switc... 阅读全文
posted @ 2007-11-21 16:38 Ling Xu 阅读(3171) 评论(21) 推荐(0) 编辑
摘要: 在.NET环境下,所有的对象都是通过CLR进行管理,并且由垃圾收集系统来负责回收。我们可以想象得到的是,CLR应当会以某种形式来管理这些对象,并且这些对象与对象之间具有一定的联系。有一些工具,例如 .NET Memory Profiler等,可以显示出这些关系,但是,可惜的是,这些工具不是免费的。实际上,Visual Studio .NET本身已经具有这样的功能,只是没有在文档中介绍,并且比上述的... 阅读全文
posted @ 2007-11-21 16:22 Ling Xu 阅读(2853) 评论(18) 推荐(0) 编辑