Function 函数结果是泛型的

Function 函数结果是泛型的,function,delphi,generics,Function,Delphi,Generics,我需要这样的东西: function fn_get_all_propperties (obj : TObject) : TObjectList<TTypeKind>; function fn_get_all_properties(obj: TObject): TList<TTypeKind>; 函数fn_get_all_properties(obj:TObject):TObjectList; 但是: [DCC错误]uFuncMain.pas(20):E2511类

我需要这样的东西:

  function fn_get_all_propperties (obj : TObject) : TObjectList<TTypeKind>;
function fn_get_all_properties(obj: TObject): TList<TTypeKind>;
函数fn_get_all_properties(obj:TObject):TObjectList;
但是: [DCC错误]uFuncMain.pas(20):E2511类型参数“T”必须是类类型


函数的结果应该是什么类型?

问题在于
TObjectList
的定义如下:

TObjectList<T: class> = class(TList)
  ....
end;

你看,我什么都不懂(@user1879841:TheOfficial,尤其应该帮助你开始。你有什么问题?
TTypeKind
不是一个类,它是一个枚举变量。你想要的是一个
TList
,而不是一个
TObjectList
函数fn\u get\u all properties(obj:TObject):TList;
Big thx用于解释!它很有用!我建议使用TArray,因为否则函数的调用方负责销毁返回的列表。或者使用基于Spring4d接口的集合类型。