Im Prinzip hatte ich mir diese Technik schon so gewünscht.
Also daß man Record-Helper auch an normale Typen bauen kann.
Jetzt kann ich meine Array-Helper-Klasse direkt an die Arrays hängen.
Bis jetzt ist die ja noch extern
TArrayHelper<Integer>.Delete(a, 1);
und nun bräuchte ich nur einen generischen Array-Helper definieren und schon hängt der an dem gewünschten Array. (falls die Generics auch bei HelperKlassen nutzbar sind).
Delphi-Quellcode:
var
a: array of Integer; // oder TArray<Integer>
a.Length := 13;
a[1] := 123;
a.Insert(4, 456);
a.Delete(1); // um die [1] rauszubekommen müßte man erstmal alle dahinterliegenden Einträge um 1 vorkopieren und dann SetLength(a, Length(a) - 1) machen
Ja, das könnte man auch mit Objekten erreichen, wobei man das Objekt auch noch in ein Interface packen muß, um von der automatischen Speicherbehandlung profitieren zu können.
Jetzt fehlt nur noch, daß man endlich mal die defekte Referenz-Behandlung bei den dynamischen Arrays repariert. (bei Strings funktioniert die ja auch)