摘要: 本章讲了现代编程语言中的一个很重要的概念:泛型。泛型带来的好处:源代码保护;类型安全;更清爽的代码;更好的性能。解释了泛型(泛型类型,泛型接口,泛型委托,泛型方法)的实现机制和限制,然后介绍了如何对泛型类型进行验证和约束。 阅读全文
posted @ 2010-04-07 16:06 bengxia 阅读(269) 评论(0) 推荐(0) 编辑
摘要: CLR的事件模型是基于委托的,是一种特殊的委托,委托就是类型安全的回调函数。描述了如何在类型中暴露事件的步骤以及如何侦听事件,对比了如何安全的触发事件的不同方式。然后分析了编译器如何编译事件。 最后设计了一个EventSet来显示的实现事件以节约资源。 阅读全文
posted @ 2010-04-06 16:55 bengxia 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 本章阐明了两种属性:无参数属性和参数化属性。 详细解释了AIP属性,匿名类型,Tuple的实现机制以及需要注意的地方。如何定义参数化的属性,以及如何重命名indexer和设置默认的indexer。对比了属性和字段的区别,以及在使用属性时的性能问题。最后讲了属性方法的访问修饰符,以及为何不能用泛型属性。 阅读全文
posted @ 2010-04-06 15:54 bengxia 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 本章主要讲的就是有哪些途径把参数传入方法中,包括如何选择性的指定参数,命名参数,通过引用传递参数,如果定义可以接收可变参数的方法。最后还给出了方法的参数和返回值的参考指南。 阅读全文
posted @ 2010-03-22 17:15 bengxia 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 本章的焦点是开发过程中会用到的各种方法,包括实例构造器、类型构造器(静态构造)、操作符重载、类型转换方法。最后讨论了扩展方法,也就是怎么在现有类型中加入方法(Decorate Pattern?) ,还有将功能的实现代码分别放在不同文件中的部分方法。 阅读全文
posted @ 2010-03-22 16:38 bengxia 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 这章的内容比较简单,主要就是说明了const和static readonly的特征和区别。 阅读全文
posted @ 2010-03-19 15:47 bengxia 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 本章讲了类型和成员的一些基本概念:类型成员的种类;类型和成员的可见性;静态类的特征;部分类型的用法和优点;CLR调用的两种方式;最后给出了定义类时的一些建议。 阅读全文
posted @ 2010-03-19 15:35 bengxia 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 本章主要讲述的是不同种类的类型(原生类型,引用类型、值类型,动态原生类型),以及这些类型的共性与特性。解释了装箱和拆箱的作用,哪些情况下会发生,如何来避免。还有需要特别注意的在override System.Object的方法(Equals, GetHashCode...)时的重要规则,还有dynamic与var之间的差别。 阅读全文
posted @ 2010-03-18 17:25 bengxia 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 本章主要讲的是类型的一些基本概念,一切类型都是从System.Object继承下来了,在具体的实现中有CLR内部调用机制来进行优化,这与Python的实现有明显的不同,尤其是在内存分配的处理上,.NET显然更高效。然后说明了不同类型之间是如何转换的,以及命名空间的实现原理,命名空间与程序集之间的关系。最后说明了在运行期,CLR是如何使用线程栈和应用程序堆的,并逐步解释了程序执行过程中栈和堆的变化,以及JIT参与的情况。 阅读全文
posted @ 2010-03-18 16:15 bengxia 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 本章主要关注如何创建可以被多个应用程序使用的程序集。提出了几个问题并进行了分析: 1. 如何保证在修正bug或添加功能时不会破坏现有的应用程序? 2. 如何解决文件版本问题? 3. 如何创建强名称的程序集? 4. 如何发布程序集,CLR如何定位并加载程序集? 5. “registering”程序集到GAC的目的是什么? 6. 如何进行延迟签名以及延迟签名的作用是什么? 7. 如何在运行时决定类型引用? 阅读全文
posted @ 2010-03-12 15:50 bengxia 阅读(318) 评论(0) 推荐(0) 编辑
无觅相关文章插件,快速提升流量