Во первых нужно указать тип.
public struct SheduleCell : IComparable<SheduleCell>
Тогда простой
list.Sort();
будет использовать метод
public int CompareTo(SheduleCell sc)
Допустим у вас будет два метода прямая и обратная сортировка, то нужно это делать так:
Иметь метод
public static int ReversSort(SheduleCell sc1, SheduleCell sc2)
{
return sc1.CompareTo(sc2) * (-1);
}
И вызывать
list.Sort(SheduleCell.ReversSort);
Итого:
public struct SheduleCell : IComparable<SheduleCell>
{
public string cell1;
public int cell2;
public SheduleCell(string param1, int param2)
{
cell1 = param1;
cell2 = param2;
}
public int CompareTo(SheduleCell sc)
{
return cell1.CompareTo(sc.cell1);
}
public static int ReversSort(SheduleCell sc1, SheduleCell sc2)
{
return sc1.CompareTo(sc2) * (-1);
}
}
class Program
{
static void Main(string[] args)
{
var list = new List<SheduleCell>();
list.Add(new SheduleCell("X", 1000));
list.Add(new SheduleCell("B", 50));
list.Add(new SheduleCell("A", 100));
list.Add(new SheduleCell("C", 10));
list.Sort();
list.Sort(SheduleCell.ReversSort);
}
}