惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Recent Announcements
Recent Announcements
Vercel News
Vercel News
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
G
Google Developers Blog
罗磊的独立博客
爱范儿
爱范儿
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
月光博客
月光博客
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - begincsdn

C# 自定义光标使用的常见方法 二叉树的递归遍历以及非递归遍历(一)----先序遍历(转) Pentium指令的执行周期数[转] 计算机图形学 -- 光栅图形学扫描线填充多边形[转] 推荐一个跨平台内存分配器【转载】 几何图形库-GEOS使用示例(1) 开源几何计算数学库 C++中固定长度短字符串比较是否相同,忽略大小写比对时的小技巧 二维图形变换公式推导---------旋转变换 .NET 漫淡(一) --- 需要充分认识的应用程序域-AppDomain Gerber 文件格式(一):RS-274X 语法 SCRUM 系列之一 ----- 认识SRCUM GERBER文件格式简介 Remoting中,关于获取某接口派生的自定义属性(CustomAttribute)的问题 让你的VS。NET2003可以调试ASP服务器脚本。 UNION,EXISTS,IN等在SQL语句中的灵活应用和场境的选择。 欢迎大家加入我申请的QQ群。 客户端独立弹出详细的实现过程 - begincsdn - 博客园 Microsoft.Visual.Studio..NET.2005.预发行版 EMULE下载
迷思微软两大框架的RTTI(Run-Time Type Identification)
begincsdn · 2008-03-26 · via 博客园 - begincsdn

动态运行时对象根据类名称(字符串形式)的创建,关于其他方面的技术暂时不想讨论;我也使用过VCL和BCB,但已经是完全的过去式。当MFC仍在继续生存,并且有其一定的生存空间。当然空间相对比较狭小,因为,但其庞大的身躯足以让人们放弃它,而使用底层API或使用如.NET FRAMEWORK。
一、做WEB和业务应用它不如.NET FRAMEWORK和J2EE等;
二、做系统软件如驱动不如API来的直接和有效;

当然其生存空间是在于如做空享软件或软件产品上;

我们现在讨论的是MFC和.NET FRAMEWORK的RTTI,那么就直接入主题吧:

在MFC中有个类叫CRuntimeClass和CObject,在.NET FRAMEWORK中,我们为了讨论简便,以C#为例,有System.Type和Object类型。

这两组类是这两个框架的核心,CRuntimeClass负责构造CObject及其家族的族谱;而System.Type的作用也是雷同的;

CRuntimeClass记录相关Class的缺省构造函数地址和类名字符串,如果需要通过动态(通过字符串)创建类型对象时,是通过搜索相应的类名称,然后通过函数指针调用构造函数创建对象的;

而且C#中Activator.CreateInstance(type),也可以帮我们实现该功能;

事实上Type是CRuntimeClass的威力加强版,要知道Type中记录了所有构造函数的地址,同时还记录了所有方法名和方法的函数地址,也正是这些构成了.NET 的元数据类型,所谓的反射机制依靠的就是这种方法。我们有理由相信,C#为什么在什么都不干的情况下,能占用如何大的内存的原因了。或者说,内存的自动释放并不是.NET的唯一强项;