小结

  本章介绍了一些高级技术,扩展讨论了C#语言的基础知识。首先介绍了名称空间的限定、::运算符和global关键字,来确保对类型的引用是希望的类型引用。接着讨论了如何实现自己的异常对象,将更详细的信息传送给异常处理程序。然后在前几章开发的扑克牌游戏库CardLib的代码中使用定制异常。

  接着论述了事件和事件处理的重要论题。尽管事件是相当微妙的,刚开始很难理解,但它的代码是非常简单的,读者肯定会在本书其他地方经常使用事件处理程序。我们还讨论了事件和事件处理的一些简单示例,修改了CardLib库,使用这个库创建了一个简单的客户扑克牌游戏程序。这个程序可以作为本书到现在为止介绍的几户所有技术的一个实用示例。

  最后,本章介绍了特性的概念,以及如何使用它们为自己创建的类型添加信息。通常,添加这些信息是因为框架是这么要求的(例如,在WPF编程中经常需要使用特性)。有时,如果想为类型提供额外的信息,还会创建自己的特性。

  本章不仅全面讨论了如何将OOP应用于C#编程,还全面介绍C#语言的基础知识。第14章将介绍C#3、4和5中新增的特性。