using System; class SomeType{}; class SortType:SomeType, IComparable{ Int32 val; public SortType(Int32 val){ this.val = val; } public Int32 CompareTo(Object obj){ return this.val - ((SortType)obj).val; } public override string ToString(){ return val.ToString(); } } class App{ public static void Main(){ SomeType[] objs = new SomeType[]{ new SortType(3), new SortType(1), new SortType(2)}; Array.Sort(objs); foreach(SomeType o in objs){ Console.WriteLine(o.ToString()); } } }