我正在尝试编写一个使用泛型的属性:
type TMyClass = class
protected
function GetCountBy<T: Class>: Integer;
public
property CountBy<T: Class>: Integer read GetCountBy<T>;
end;
但是在属性声明中编译失败,并显示消息“Property CountBy 在基类中不存在”,并且属性名称的开头 < 上出现红色波浪线。
有什么办法可以做到这一点?
编辑:这是我的另一个用例,它更复杂但更真实:
property ItemsBy<T: Class>[Index: Integer]: T read GetItemsBy<T> write SetItemsBy<T>;
该函数过滤列表的内容以返回指定类的第 Index 项。