public int CompareTo(object obj) { Postcode other; try { other = (Postcode) obj; } catch (InvalidCastException) { throw new ArgumentException("obj is not a Postcode"); } if (this < other) { return -1; } if (this > other) { return 1; } return 0; }