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