【问题标题】:Can I create a generic list of a particular interface in Delphi?我可以在 Delphi 中创建特定接口的通用列表吗?
【发布时间】:2012-09-21 12:50:31
【问题描述】:

在 C# 中,我可以创建一个包含特定接口的通用列表,例如:

myList = List<IMyInterface>;

我可以在 Delphi XE3 中做同样的事情吗?如果可以,该怎么做?

我知道我可以创建一个 TInterfaceList 来存储接口列表,但它不是强类型的 所以在使用列表中的对象时我仍然需要强制转换。

有没有一种强类型的方法来做到这一点?

【问题讨论】:

  • TList&lt;IMyInterface&gt; 有什么问题?
  • 谢谢!,现在看起来很明显。我以前玩过 TObjectList ,但那不起作用,因为接口不是对象。然后我专注于 TInterfaceList,从未想过使用简单的 TList。无论如何,它有效,所以再次感谢。
  • @Serg 为什么这不是一个答案。史蒂夫需要一个答案才能接受。
  • 好的,我以为史蒂夫可以自己回答这个问题 :)

标签: delphi generics interface delphi-xe3


【解决方案1】:

Delphi 支持泛型 List 类TList&lt;T&gt;,可以与特定接口一起使用,例如:

var
  List: TList<IMyInterface>;

begin
  List := TList<IMyInterface>.Create;
  {..Do something with list..}
  List.Free;
end;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-05
    • 2015-03-19
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2023-02-11
    相关资源
    最近更新 更多