摘要: 前言: 上篇博文《接口包含内容概述1——接口相关概述及接口中属性的实现》最后留有一疑问:一个接口为什么可以包含一个事件,却不能包含一个委托呢? 在这里要想对这个问题解答,首先必须搞清楚委托和事件这两个容易使人眩晕的问题:委托概述: 在 C 语言 的众多种类型指针中,有一种叫做“函数指针”,即是指函数的入口地址。在 C# 中委托的概念与其相类似。而与... 阅读全文
posted @ 2010-02-21 13:46 Youngman 阅读(778) 评论(1) 推荐(1) 编辑
摘要: 前言: 临近年终,和一朋友去应聘,偶见一C#选择题,问道:接口中不能包含什么?答案有:方法,属性,事件,字段。(我比较确定,应该选择字段,然而对于其确切原因却不能详述。这两天看到Steven John Metsker 的《C# 设计模式》中讲到“接口型模式设计”时,详细讲述了接口,以及接口中内容 。在此借助其讲述,将其做一概要。接口和抽象类: 为了更好的理解接口,最常见的... 阅读全文
posted @ 2010-02-21 10:13 Youngman 阅读(4775) 评论(0) 推荐(2) 编辑
摘要: 程序员的十层楼 自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。 那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员 有... 阅读全文
posted @ 2010-02-17 13:02 Youngman 阅读(486) 评论(4) 推荐(0) 编辑
摘要: 前几日拜读Leo(张大志)的《程序员羊皮卷》一书,感觉写的非常实际,并且很有裨益(在这先给此书做免费宣传,呵呵~)!先不论书中具体内容涉及到的程序员工作相关内容,所能带给我的指导意义,这里先将Leo在前言中,论述的关于自由与规则的内容做一论述: 作者首先从工作是否快乐这一宽泛话题展开,结果必然是大部分人都不是非常快乐,因为什么呢?找不到好工作、与旁边环境格格不入、努力工作却得不到加薪、每天重复枯燥... 阅读全文
posted @ 2010-02-10 22:05 Youngman 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 谢谢lerit的对于我的博文《内存探寻1之——值类型和引用类型的内存分配机制》中提到的问题。这里先重述问题:"你好,你的文章写得很好,清晰了很多以前比较模糊的概念,我想提个问题,上面你总结了自定义对象的过程,那三条是按照顺序的吗?另外,下面这个类,是先实例化字段,还是先构造器,我从第三条中看出是“初始化构造器,对对象字段初始化”,可是好像是构造函数后... 阅读全文
posted @ 2010-02-09 23:23 Youngman 阅读(479) 评论(1) 推荐(3) 编辑
摘要: 之前,大致按照文章种类,分为了:C#、JavaScript、Asp.Net、程序人生等四类,然而在写到了对象的内存分配机制时,即感觉将其置于C#中似有不妥。可另一方面,这里的内存分配中牵扯到值类型和引用类型、继承和多态,这些又是C#的核心所在。 纠结啊,然而经过细致的思考,还是认为应该划分出单独一块——.NET技术。 它区别于C#和Asp.Net(以及其他的应用类.NET)... 阅读全文
posted @ 2010-02-04 00:14 Youngman 阅读(622) 评论(0) 推荐(0) 编辑
摘要: IL反编译利器——Ildasm.exe和Reflector.exe:一:Ildasm.exe简介 这一微软VS自带工具,在上一篇博文《初识Ildasm.exe——IL反编译的实用工具》中已经做了详细介绍,这里不再鳌述;二:Reflector.exe简介 至此(10.02.03),从 http://www.aisto.com/roeder/dotnet... 阅读全文
posted @ 2010-02-03 11:57 Youngman 阅读(1670) 评论(2) 推荐(1) 编辑
摘要: Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且给出命名空间以及类的视图。在讲述如何反编译之前,有必要从虚拟CPU的角度来看CLR,这样有助于先从正面了解代码执行过程。虚拟CPU: .NET 程序,其核心皆为 CLR ,而同... 阅读全文
posted @ 2010-02-03 00:03 Youngman 阅读(46900) 评论(12) 推荐(17) 编辑
摘要: 在继承和多态中的内存分配机制: 继承、封装和多态是面向对象的三大支柱要素,也是C#语言中最为重要的概念。在这里无意具体讲解他们的意义、使用方法等,只是想通过具体实例,从它们的内存分配,以期理解其运行机制,从而对继承和多态概念有深层次的理解。 这里节选Anytao的《你必须知道的.NET》之继承本质论中示例代码和演示图片,加以说明: [代码]当运行代码为:[代码]由我们上文所论述的:自定义对象的... 阅读全文
posted @ 2010-02-02 14:33 Youngman 阅读(967) 评论(1) 推荐(1) 编辑
摘要: String对象和值类型的内存分配机制: 同样由前延伸,上上篇《由String类型分析,所产生的对参数传递之惑的解答》中,最后提及,如果将引用类型的按值传递和按引用传递,用托管堆表示,则更具说服力。在此附图说明:(如果印象模糊,可回看文章)由上两图可以看到:1.在图1(即上面图),当在按值传递引用类型参数时,接收参数的函数中(注意:依然在Stack上),依然存在一份拷贝——... 阅读全文
posted @ 2010-02-02 13:32 Youngman 阅读(2588) 评论(4) 推荐(2) 编辑