Kennst du schon die
Array-Properties?
Damit kann man die Sache sehr elegant lösen:
Delphi-Quellcode:
TEasyObjectManager = class(TObject)
private
function GetValues(const Name: string): TObject;
procedure SetValues(const Name: string; Value: TObject);
public
...
// das ist ein Array-Property
// interessant ist, das der Datentyp des Index auch string oder ein beliebiger anderer Datentyp sein darf
// auch mehrdimensionale Indizes sind möglich
property Values[const Name:string]:TObject read GetValues write SetValue;
end;
Ein bekanntes Array-Property ist z.B. Pixel[] der Klasse TCanvas.
Die Deklaration sieht ungefähr so aus:
property Pixel[x,y:Integer]:TColor read GetPixel write SetPixel;
Wenn man unsicher ist, wie die Get- und Set-Methoden aussehen sollen, dann schreibt
das Array-Property einfach hin und drückt dann Strg+Shift+C und die
IDE erzeugt dann automatisch die richtigen Methodenkörper.