// ** new ** public int CompareTo(Animal rhs, Animal.AnimalComparer.ComparisonType whichComparison) { switch (whichComparison) { case AnimalComparer.ComparisonType.Name: return(this.name.CompareTo(rhs.name)); case AnimalComparer.ComparisonType.Size: return(this.weight.CompareTo(rhs.weight)); } return(-1); // all paths must return a value }
//Special CompareTo to be called by custom comparer public int CompareTo(Animal rhs, Animal.AnimalComparer.ComparisonType which) { switch (which) { case Animal.AnimalComparer.ComparisonType.Weight: return(this.weight.CompareTo(rhs.weight)); case Animal.AnimalComparer.ComparisonType.Name: return(this.name.CompareTo(rhs.name)); } return(0); }