摘要:
摘要: 谈谈.Net中的协变和逆变关于协变和逆变要从面向对象继承说起。继承关系是指子类和父类之间的关系;子类从父类继承所以子类的实例也就是父类的实例。比如说Animal是父类,Dog是从Animal继承的子类;如果一个对象的类 ...谈谈.Net中的协变和逆变关于协变和逆变要从面向对象继承说起。继承关系是指子类和父类之间的关系;子类从父类继承所以子类的实例也就是父类的实例。比如说Animal是父类,Dog是从Animal继承的子类;如果一个对象的类型是Dog,那么他必然是Animal。协变逆变正是利用继承关系 对不同参数类型或返回值类型 的委托或者泛型接口之间做转变。我承认这句话很绕,如果你. 阅读全文
摘要:
IComparable和ICompare 接口是.net framework 中比较对象的标准方式,这两个接口提供一个返回值类似(大于0 等于0 小于0)的比较方法,二者区别如下:1. IComparable 在要比较的对象的类中实现,可以比较该对象和另一个对象。2. IComparer 在一个单独的类中实现,可以比较任意两个对象。先看 IComparable 这个接口方法是 int CompareTo(object obj); 方法只有一个参数,我们知道比较至少要有两个对象,所以这个方法只能应用在要比较的对象类中,参数传递的对象就可以和 this 做比较。classobj:ICompara. 阅读全文