static void Main01(string[] args) { SortHelper sortHelper = new SortHelper(); Book[] bookArray = new Book[2]; bookArray[0] = new Book(124, "C# 3.0揭秘"); bookArray[1] = new Book(45, ".Net之美"); Console.WriteLine("Before Sort"); foreach (var item in bookArray) { Console.WriteLine(item.Id + " " + item.Title); } sortHelper.DichotomySort(bookArray); //拓展方法 Console.WriteLine("After Sort"); foreach (var item in bookArray) { Console.WriteLine(item.Id + " " + item.Title); } Console.WriteLine("------------------------"); IExtTest iec2 = new InterfaceExtTestClass(); iec2.Test02(); /* * 假如我们实现 IExtTest 接口的类很多 *而这些类没有派生关系 *这时候我们要在接口上新增一个函数 *按照以前的做法实现这个接口的类有多少 *我们就需要在多少个类中实现该新函数 *使用了扩展方法后 *我们只需一次拓展该方法。 * 假如实现这个接口的类被封装在不同的组件中 *一些组件由于其他原因难以修改 *这时候用扩展方法来扩展接口就是最佳做法; */ }