在一个 Delphi 演示应用程序中,我偶然发现了一些我不知道 Delphi 编译器接受的语法:
// ......\Demos\DelphiWin32\VCLWin32\ActiveX\OleAuto\SrvComp\Word\
// Main.pas, line 109
Docs.Add(NewTemplate := True); // note the assignment
我似乎无法在我自己的代码中重现这种类型的参数传递,而且我从未见过有人使用它。所以这些是我的问题:
我可以在“普通”方法中使用它吗?它是“Delphi 语言”的一部分,还是自动化对象的一些编译器破解?
为了能够使用它需要什么?
这是否类似于 C#4 的命名参数和可选参数?
附加信息:当方法有许多可选参数时,我通常传递记录或简单类,但看起来我不需要这种语法。我知道默认参数值,但它们的用处有限,因为您不能在省略的参数右侧提供任何参数。在 JavaScript 中,我一直在使用这种命名参数样式(无论是使用不同的语法),而且它很强大。