Häh? Beim TComparer<T>
? Wo ist denn da was mit einem Hasher? Das kenne ich nur beim TEqualityComparer<T>
und das wird z.B. für ein Dictionary benötigt.
Nunja... Ein Druck auf F1, während der Cursor auf einem frisch eingegebenen "TComparer<T>.Construct" steht, führt zum TEqualityComparer. Hab mich auch gefragt, was das wohl mit dem THasher da sein soll, bin aber davon ausgegangen, das der dann wohl optional ist und ein Standard-Hasher genommen wird. Insgesamt ist die
OH von XE4 - vorsichtig ausgedrückt - Schrott. Aber einen direkten Weg wie im Visual Studio, wo es direkt ins
MSDN geht, ist nicht vorgesehen oder ich habs verkehrt eingestellt. Womit sich die Frage stellt,
wo man das einstellt...
Wie dem auch sei, ich hab einiges dazugelernt. So ist
Delphi-Quellcode:
var
TCo: IComparer<TPosition>;
begin
FPositions.Sort(TCo);
end;
natürlich Unsinn. Sort weiß ja wirklich nicht, das
mein Comparer aufgerufen werden soll, weil TCo=nil. Also gehört da ein
TCo:=TPositionComparer.Create;
davor. Und genau das ist wohl das verwirrende: Ich muß ein
TComparePosition aufrufen, um einen
IComparer zu instantiieren.
So langsam raffe ich das Zeug.