Ok, wenn man 2 Dimensionen zulassen würde, warum dann nicht auch 3 oder mehr Dimensionen?
Man sollte aber bedenken, dass man schon bei einer Dimension von z.B. 5 * 8 ganze 40 Properties hinschreiben muss.
Hier sollte gleich ein kleines Alarmglöckchen leuten: "Eine Klasse mit 40 Properties? Und alle vom gleichen Typ? Da stimmt doch was nicht, da muss es doch auch einen anderen Weg geben"
Das Schlüsselwort "Index" ist doch eher ein selten genutzes Feature mit relativ wenig Nutzen.
Borland hätte stattdessen folgende Property-Deklaration einführen sollen:
Delphi-Quellcode:
TDirection = (dX, dY);
TTestClass = class
private
procedure SetSomething(value: integer; typ:Char; dir:TDirection): integer;
function GetSomething(typ:Char; dir:TDirection): integer;
public
property SpeedX: integer read GetSomething('S', dX);
property SpeedY: integer read GetSomething('S', dY);
property PositionX: integer read GetSomething('P', dX) write SetSomething('P', dX);
property PositionY: integer read GetSomething('P', dY) write SetSomething('P', dY);
property AccelerationX: integer read GetSomething('A', dX);
end;