Aus drei Zeilen mach eine. Finde ich sehr praktisch.
SL := TStringlist.Create; SL.Sorted := True; SL.Duplicates := dupIgnore;
Delphi-Quellcode:
type
TStringListHelper = class helper for TStringList
//constructor CreateDup;
class function CreateDup: TStringList; static;
end;
class function TStringListHelper.CreateDup: TStringList;
begin
Result := TStringlist.create;
Result.Sorted := True;
Result.Duplicates := dupIgnore;
end;
Und dann auch nur noch
SL := TStringList.CreateDup;
, was Dank CodeInsight auch leichter zu finden ist.
Wäre nur toll, wenn Embarcadero es nach 11 Jahren endlich mal hinbekommt, dass man mehrere Helper an eine Klasse binden kann, ohne dort krankhaft mit Vererbung arbeiten zu müssen, was oftmal garnicht möglich ist.
Ja, statt Listen geben ich auch gern dynamische Arrays zurück, was aber nur gut nutzbar ist, wenn die Liste in der Funktion gefüllt und außerhalb nicht verändert wird.