最近、私はアプリケーションを開発していて、いくつかのタイプのコレクションが欲しいと思っていました。その型の新しいコレクションクラスを宣言して実装したくありません。それで、ジェネリックを使うことを考えましたが、通常の型付きインスタンスと比較したジェネリックのパフォーマンスについてはよくわかりませんでした。パフォーマンスは私が見ている主要なものです。私のアプリケーションはタイムクリティカルであり、数百ミリ秒を失うことさえお勧めできません。
DelphiXE3を使用しています
例:
ICollectionItem = interface
function GetID : string;
property ID : string read GetId;
end;
TGenericCollection<T: ICollectionItem> = class
function Add(T) : Integer;
end;
に比べ
TSomeClass = class(TInterfacedObject, ICollectionItem)
function GetId : string;
end;
TSomeClassList = class
function Add(item : TSomeClass) : Integer;
end;