ジェネリックを使用するプロパティを作成しようとしています:
type TMyClass = class
protected
function GetCountBy<T: Class>: Integer;
public
property CountBy<T: Class>: Integer read GetCountBy<T>;
end;
しかし、コンパイルはプロパティ宣言で失敗し、「Property CountBy does not exist in base class」というメッセージが表示され、プロパティ名の開始 < に赤い波線が表示されます。
これを達成する方法はありますか?
編集:これは私の他のユースケースです。これはより複雑ですが、より現実的なものです:
property ItemsBy<T: Class>[Index: Integer]: T read GetItemsBy<T> write SetItemsBy<T>;
この関数は、リストの内容をフィルタリングして、指定されたクラスの Index 番目の項目を返します。