Delphi 中的泛型并返回对 tlist<class> 的引用

汤姆

我仍然使用 Delphi XE4(我使用多个 Delphi 编译器的最新编译器)并且需要一个特定的解决方法,因为他们在这个版本中完全隐藏了 TBasicAction 中的 FClient。我在设置启用/禁用时连接/断开客户端运行时(以避免大约 100 多个动作和 ui 元素闪烁),因此 XE4 的解决方法:

这是我的天真尝试,只是简单地返回字段。

  TmscBasicActionCrack = class(TBasicAction)
  end;
{$IFDEF mymsDELPHIXE4}
  TmscBasicActionHelper = class helper for TBasicAction
  public
    function Helper_Get_Private_FClients: TList<System.Classes.TBasicActionLink>;
  end;
{$ENDIF}

{$IFDEF mymsDELPHIXE4}
//------------------------------------------------------------------------------
function TmscBasicActionHelper.Helper_Get_Private_FClients: TList<System.Classes.TBasicActionLink>;
begin
  Result := Self.FClients;
end;
{$ENDIF}

但是,我收到错误

E2003 未声明的标识符:TList<>

我必须承认我从来没有在 Delphi 中使用泛型,因为我最初听说过稳定性问题 + 我需要保持与 Lazarus/FreePascal 的兼容性。

我知道 Delphi 的最新版本再次改变了类助手,但我现在最感兴趣的是让它与 Delphi XE4 一起工作

杰...

该错误表明TList<T>编译器不知道该类型。要使用它,您必须包含System.Generics.Collections在您的uses条款中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Delphi 5中,是否始终通过引用传递TList参数?

来自分类Dev

delphi中的通用Tlist <IMyInterface>

来自分类Dev

Delphi-智能指针和泛型TList

来自分类Dev

使用TList <string>的delphi中的内存泄漏

来自分类Dev

使Delphi TList不可变

来自分类Dev

TList <T>中的Delphi XE8错误,需要解决方法

来自分类Dev

如何在TList中获取TList的对象?

来自分类Dev

将TList <T:class>转换为TList <W:class>

来自分类Dev

将TList <T:class>转换为TList <W:class>

来自分类Dev

Delphi-使用动态数组管理TList

来自分类Dev

TList中的数组

来自分类Dev

Delphi TList <T>复制到另一个TList吗?

来自分类Dev

在Delphi中包装函数调用泛型

来自分类Dev

Delphi泛型方法

来自分类Dev

Java中的自引用泛型

来自分类Dev

Scala中的准引用和泛型

来自分类Dev

检查泛型java中的引用类型

来自分类Dev

引用类型中的多继承泛型

来自分类Dev

Delphi引用程序异常

来自分类Dev

对泛型类的 SOAP Web 服务引用返回 nullexception

来自分类Dev

在Delphi中对nil引用调用方法是否“受支持”?

来自分类Dev

如何在Delphi XE7中关闭自动引用?

来自分类Dev

在Delphi中通过引用传递的指针(从DLL导入函数)

来自分类Dev

从Delphi中的类引用变量访问类常量

来自分类Dev

在Delphi中通过引用传递的指针(从DLL导入函数)

来自分类Dev

Delphi形式和泛型

来自分类Dev

如何在Delphi中扩展泛型集合?

来自分类Dev

在Delphi中使用动态记录数组与TList <TMyRecord>的优缺点是什么?

来自分类Dev

如何测试未知的Delphi RTTI TValue是否反映了任何类型的通用TList <>(或至少是TEnumerable <>)的对象?