In Delphi 2010 habe ich eine generische TInterfaceList wie folgt definiert:
type
TInterfaceList = class(TInterfaceList)
function GetI(index: Integer): I;
procedure PutI(index: Integer; const Item: I);
property Items[index: Integer]: I read GetI write PutI; default;
end;
implementation
function TInterfaceList.GetI(index: Integer): I;
begin
result := I(inherited Get(Index));
end;
procedure TInterfaceList.PutI(index: Integer; const Item: I);
begin
inherited Add(Item);
end;
__
Bisher hatte ich keine Probleme damit, aber gibt es etwas grundsätzlich Risikoreiches daran? Wäre es möglich, einen Enumerator hinzuzufügen, um ..in-Schleifen darauf zu ermöglichen? Wenn nichts dagegen spricht, frage ich mich, warum etwas Ähnliches noch nicht in der RTL definiert wurde.
__