これが機能しないのはなぜですか?E2511 Type parameter 'T' must be a class type? が表示されます。
type
IBaseProvider<T> = Interface
function GetAll: TObjectList<T>;
end;
type
TCar = class(TInterfacedPersistent, IBaseProvider<TVehicle>)
function GetAll: TObjectList<TVehicle>;
end;
implementation
function TCar.GetAll: TObjectList<TVehicle>;
begin
// do something with Objectlist
Result := ObjectList
end;