Ich möchte verschiedene Sortierklassen erstellen (QuickSort, MergeSort, BucketSort ... usw.). Ich habe eine gemeinsame Schnittstelle (ISort).Wie schreibe ich eine generische ISort-Schnittstelle?
Diese Schnittstelle verfügt über eine Methode:
Collection<T> Sort(Collection<T> list);
Wenn nun im eine Klasse zu verwenden versuchen, scheint, wie ich so zu erklären haben:
ISort<char> sort = new QuickSort();
Die QuickSort Implementierung sieht wie folgt aus:
public class QuickSort : ISort<char>
{
public Collection<char> Sort(Collection<char> list)
{
// TODO: implement this.
return null;
}
}
Diese Implementierung ist was ich nicht mag, weil die T-Vorlage ein Zeichen ist. Wie kann ich diese Klasse generisch halten, so dass ich diese Klasse verwenden kann, um ein int, float, double, char usw. zu sortieren?
BTW: Wenn Sie QuickSort haben, warum brauchen Sie die anderen;) – Carsten