[CLR via C#]委托
摘要:委托是一种新的面向对象语言特性,委托的功能是在CLR的支持下实现的,这就意味着它并不受限于特定的编程语言,比如C#使用delegate关键字来定义委托,其他的.NET编程语言可以使用自己的方式来定义委托。 以委托作为基础,.NET构造了一个技术大厦,事件驱动、异步调用和Lambda表达式都建立...
阅读全文
posted @
2015-08-29 15:37
JustYong
阅读(964)
推荐(1) 编辑
[CLR via C#]可空值类型
摘要:一、它为什么而存在 设计一个数据库时,可将一个列的数据类型定义成一个32位整数,并映射到FCL的Int32数据类型。但是,数据库中的一个列可能允许值为空,也就是说,该列在某一行上允许没有任何值。用.NET Framework处理数据库数据时可能变得相当困难,因为在CLR中,没有办法将一个Int3...
阅读全文
posted @
2015-08-27 23:26
JustYong
阅读(287)
推荐(0) 编辑
[CLR via C#]异常和状态管理
摘要:当CLR检测到某个正在运行的.NET应用程序处于一种特殊的正常执行顺序被打断的状态时,会生成一个异常对象来表示这个错误,并将此对象在方法调用堆栈中向上传送。如果一个程序引发了一个异常却没有处理,CLR将会中断此进程。一、异常处理机制1.基本语法try{ //可能引发异常的语句}catch...
阅读全文
posted @
2015-08-24 09:39
JustYong
阅读(1337)
推荐(1) 编辑
WCF配置
摘要:1.MaxReceivedMessageSize获取或设置配置了此绑定配置的通道上可以接收的最大大小(以字节为单位),默认值为65,536个字节。2.TransferMode指示通道是使用流处理模式还是缓冲模式来传输请求和响应消息。3.MaxBufferSize获取或设置缓冲区的最大大小,该缓冲区用...
阅读全文
posted @
2015-08-13 16:02
JustYong
阅读(175)
推荐(0) 编辑
从托管堆分配资源
摘要:进程初始化时,CLR要保留一块连续的地址空间,这个地址空间最初并没有对应的物理空间。这个地址空间就是托管堆。托管堆还维护着一个指针,称为NextObjPtr。它指向下一个对象在堆中的分配位置。刚开始的时候,NextObjPtr设为保留地址空间的基地址。 IL指令newobj用于创建一个对象。new...
阅读全文
posted @
2015-08-04 23:15
JustYong
阅读(205)
推荐(0) 编辑