In Delphi 2010 Ich habe eine generische TInterfaceList wie folgt definiert:Ist Delphi generische TInterfaceList möglich?
type
TInterfaceList<I: IInterface> = 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<I>.GetI(index: Integer): I;
begin
result := I(inherited Get(Index));
end;
procedure TInterfaceList<I>.PutI(index: Integer; const Item: I);
begin
inherited Add(Item);
end;
ich keine Probleme noch nicht gehabt haben, aber gibt es etwas von Natur aus riskant dies zu tun? Wäre es möglich, einen Enumerator hinzuzufügen, damit for..in-Schleifen daran arbeiten können? Wenn daran nichts falsch ist, frage ich mich, warum etwas Ähnliches nicht schon in der RTL definiert ist.