文章分类 -  .NET Framework源码研究系列

.NET Framework源码研究系列
摘要:在上一篇<.NET Framework源码研究系列之---马甲List>中我们一起研究了.NET中List的源代码,也得到一些兄弟的热心反馈.其中一位仁兄说希望看到ArrayList与LinkedList源代码,所以今天就以此为话题,大家一起看一下.NET中是如何实现ArrayList和LinkedList的. 我们先看ArrayList和LinkedList在.NET中的位置,ArrayList的命名空间是System.Collections,LinkedList的命名空间是System.Collections.Generic,这么看来二者同属于集合类,只不过LinkedList 阅读全文
posted @ 2011-06-21 15:05 Smallen 阅读(155) 评论(0) 推荐(0)
摘要:在上一篇随笔<.NET Framework源码研究系列之---Delegate>中我们一起研究了.NET中是如何实现委托的.今天我们一起研究一下.NET中我们用的最多的一个集合类之一List. 大家都知道,在.NET集合类中List如Array一样都是一个顺序一维数组,与Array不同的是,我们可以更方便的操作List类型的集合,比如插入数据,删除数据,排序等等,那么.NET源码中List是如何实现的呢?我们在使用List相对Array的优点时会不会有其他方面的代价呢?从List的源码中我们又能学到什么呢?带着这些问题,让我们开始今天的.NET源码研究之旅吧. 研究一开始,首先我们 阅读全文
posted @ 2011-06-21 15:04 Smallen 阅读(195) 评论(0) 推荐(0)
摘要:前言 曾几何时能看到微软产品的源码简直是天方夜谭,不过现在这却成了现实,微软终于对外开放了它的产品的源代码.抛去开源运动与微软之间的世代情仇,抛去微软这一做法的初衷,这总归是件好事,能够让我们拨开云雾,一窥优秀产品的秘密. 前两天看到有位仁兄在随笔中的留言,说他以为".NET中的设计模式"是在讲.NET Framework与设计模式的关系,其实不是,不过这也让我想起来自己确实研究过.NET Framework的源码,于是就找打算找时间把自己的心得体会拿出来和大家一起分享. 今天就先从最容易让人困惑的委托(delegate)开始,让我们步入.NET Framework源码世界 阅读全文
posted @ 2011-06-21 15:02 Smallen 阅读(208) 评论(0) 推荐(0)
摘要:经过前面三篇关于.NET Framework源码研究系列的随笔,相信大家都发现其实.NET Framework的实现其实并不复杂,也许跟我们自己做的项目开发差不多。本人也是这样的看法。不过,经过仔细深入的研究,我们还是会发现一下平时很难注意到的东西,而这些东西对我们完善思路,开阔眼界,锻炼良好的编码素质有着很大的意义. 我们知道.NET中所有的类型(包括:引用类型,值类型)都从Object类派生过来,由此可以说Object是所有类型的根本。那么今天我们就研究.NET(C#)中一切元素的根本---System.Object。 Object类在.NET源码中的实现很简单,一共不过100行左右的代. 阅读全文
posted @ 2011-06-21 14:58 Smallen 阅读(144) 评论(0) 推荐(0)