protected override int Compare(UIViewSortKind kind, object a, object b) { int result = 0; left = a as IShip; right = b as IShip; switch (kind) { case UIViewSortKind.GetTime: result = (int)(right.GetCreatTime() - left.GetCreatTime()); break; default: return(base.Compare(kind, left.GetBaseConfig(), right.GetBaseConfig())); } if (result == 0) { result = right.GetBaseConfig().Order - left.GetBaseConfig().Order; } if (result == 0) { result = (int)(right.GetBaseConfig().Id - left.GetBaseConfig().Id); } return(result); }