随笔分类 -  C#

C#编码技巧.原理.
摘要:Win实际上将CLR作为一个COM服务器实现在一个DLL内,即为CLR定义了标准的COM接口,并为该接口和COM服务器分配一GUID,安装FrameWork时表示CLR的COM服务器被注册到注册表内.任何Win APP都可以寄宿CLR.一个PC可安装多个版本的CLR,但是只有一个版本(最新版本)的M... 阅读全文
posted @ 2014-06-14 11:36 robynhan 阅读(487) 评论(0) 推荐(0)
摘要:当某线程触发GC时,任何线程不能再访问任何的对象.在GC执行时,可能会修改对象的地址.GC执行时,大多使用劫持法,将所有的线程挂起.对于含有Loop,且Loop内不再调用其它方法时.会生成一个编译时表.当线程的指针指令执行到该处时,会认为到达了一个安全点,线程可以被挂起.对于其它方法,GC会劫持线程... 阅读全文
posted @ 2014-06-14 11:25 robynhan 阅读(300) 评论(0) 推荐(0)
摘要:经过编译后,程序变为托管模块(=IL+元数据(描述数据信息)).托管模块需要CLR才能运行.然后,将若干个托管模块合并成Assembly.若干个文件/资源的逻辑分组.最小的可重用控制单元.其含有清单来描述其含有的文件集.所以具有自描述性.加载CLR:在\System32下有MSCoreEE.dll说... 阅读全文
posted @ 2014-06-13 16:18 robynhan 阅读(191) 评论(0) 推荐(0)
摘要:自动属性.之前定义属性的步骤: private filed + public property.现在的形式:int id{get;set;}.可以分别设置get/set的保护级别(protected/public/private/internal).系统自动生成一个private的字段,并暴露响应的... 阅读全文
posted @ 2014-06-13 11:01 robynhan 阅读(260) 评论(0) 推荐(0)
摘要:最近在总结项目的自动测试相关的技术和知识点.我们项目的自动测试,能够在进行功能测试的同时,一并记录各个功能的CPU和Memory占用情况.此篇博文介绍了我们做的性能监控的程序和涉及到的技术.这里,就做一个简易版的性能监控工具.首先,上图.从运行程序上看,用户需要输入被监控的机器名,进程名,是否监控C... 阅读全文
posted @ 2014-06-12 11:34 robynhan 阅读(282) 评论(0) 推荐(0)
摘要:1,参数传递.默认都是按值传递(无论引用还是值类型),也就意味着传递参数的一个副本给方法.之后在方法体内对参数的更改,对原始参数没有影响.使用ref/out可以按引用传递,直接影响原始参数变量.两者的区别是ref参数必须在传递之前进行初始化.在异步方法和迭代器方法中,不能使用它.2,CTS,CLSC... 阅读全文
posted @ 2014-05-15 10:11 robynhan 阅读(162) 评论(0) 推荐(0)