Welcome to Stratos!
class IChromosome<T> : IComparable<IChromosome<T>> { public int CompareTo( IChromosome<T> y ) { return this.Finess.CompareTo(y.Finess); } public double Finess = 0.0; } class IChromosomeMinimize<T> : IComparer<IChromosome<T>> { public int Compare(IChromosome<T> obj1, IChromosome<T> obj2) { return obj2.CompareTo(obj1); } } class IChromosomeMaximize<T> : IComparer<IChromosome<T>> { public int Compare(IChromosome<T> obj1, IChromosome<T> obj2) { return obj1.CompareTo(obj2); } }