俺定义了一个接口
public interface Arrangable
{
int SerialNumber
{
get;
}
}
两个类
public class Class1: Arrangable {
public Class1() { // TODO: ????????? } private int serialNumber; public int SerialNumber { get { return serialNumber; } set { serialNumber = value; } } }
public class Class2: Arrangable {
public Class2() {
// TODO: ?????????
}
private int serialNumber;
public int SerialNumber {
get { return serialNumber; }
set { serialNumber = value; }
}
}
一个比较器
public class ArrangableSerialComparer : IComparer<Arrangable> { int IComparer<Arrangable>.Compare(Arrangable item1, Arrangable item2) { if (item1.SerialNumber > item2.SerialNumber) { return 1; } if (item1.SerialNumber < item2.SerialNumber) { return -1; } return 0; } }
想要这样用
List<Class1> class1List = getAllClass1();
class1List.Sort(new ArrangableSerialComparer());
List<Class2> class2List = getAllClass2();
class2List.Sort(new ArrangableSerialComparer());