Trong Delphi năm 2010, tôi đã xác định một TInterfaceList chung như sau:Có phải Delphi generic TInterfaceList có thể không?
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;
tôi đã không có vấn đề gì, nhưng là có bất cứ điều gì vốn đã nguy hiểm về việc này? Nó sẽ có thể thêm một điều tra viên để nó cho phép ... vòng lặp để làm việc trên nó? Nếu không có gì sai với nó, tôi tự hỏi tại sao một cái gì đó tương tự chưa được xác định trong RTL.