delphi - delphi 中的匿名记录构造函数

标签 delphi anonymous-types

是否可以使用记录作为方法参数,并在不隐式声明所述记录的实例的情况下调用它?

我希望能够编写这样的代码。

type
  TRRec = record
    ident : string;
    classtype : TClass;
  end;

procedure Foo(AClasses : array of TRRec);

然后调用这样的方法或类似的方法。

Foo([('Button1', TButton), ('Lable1', TLabel)]);

顺便说一句,我仍然停留在 Delphi 5 上。

最佳答案

是的。差不多了。

type
  TRRec = record
    ident : string;
    classtype : TClass;
  end;

function r(i: string; c: TClass): TRRec;
begin
  result.ident     := i;
  result.classtype := c;
end;

procedure Foo(AClasses : array of TRRec);
begin
  ;
end;

// ...
Foo([r('Button1', TButton), r('Lable1', TLabel)]);

关于delphi - delphi 中的匿名记录构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/614536/

相关文章:

c# - 如何在 C# 中迭代​​匿名对象的属性?

c# - 普通类型和匿名类型有什么区别?

delphi - cxGrid - 检查记录的页脚摘要

delphi - 原始输入 WinAPI : GetRawInputBuffer() and message handling

sql-server - 如何更改无法重新编译的 Delphi 程序的硬编码数据库密码?

delphi - 将文件传递给 Security Essentials 进行扫描

C# Linq Guid 匿名类型问题

java - Java 中的匿名类和预定义类之间有哪些相关区别?

c# - 如何使用匿名类型进行分组

delphi - 有没有更好的方法向 TMemo 添加一些字符?