摘要: 有时候,我们的类型需要排序关系来支持它们在集合中的排序和搜索。.NET框架定义了两个接口来描述类型的排序关系:IComparable和IComparer。IComparable接口定义了类型的自然排序方式。IComparer则为类型提供了另外的排序方式。我们可以为类型实现各种关系操作符(、=)来提供特定于类型的比较操作,从而避免接口实现所带来的运行时开销。本条款讨论如何通过两个接口IComparable和IComparer,来为类型实现排序关系,从而支持使用.NET框架对我们的类型进行排序,并帮助其他用户通过这些操作获取最佳的性能。 阅读全文
posted @ 2008-10-30 18:55 瞪着你的小狗 阅读(765) 评论(1) 推荐(0) 编辑
摘要: 持久化(persistence)是类型的一个核心特性。这种特性往往是在我们忽略支持它们的时候,才会被注意到。如果我们的类型没有正确地支持序列化(serialization),那么其他开发人员在使用我们的类型作为成员或者基类的时候将有许多工作要做。他们必须自己实现这样的标准特性。如果不访问类型的私有实现细节,要想为类型正确实现序列化几乎是不可能的。如果我们自己不支持序列化,让类的用户来添加序列化支持将会很困难,甚至根本做不到。 阅读全文
posted @ 2008-10-30 10:16 瞪着你的小狗 阅读(833) 评论(0) 推荐(0) 编辑