1

我最终使用记录助手作为 Delphi 不允许前向声明记录类型的解决方法。

至少它可以编译,但我对 Intellisense 没有拾取这些辅助方法这一事实相当不满意:

Extents.TransformBy(Matrix);

TransformBy 是一个辅助方法。上面的代码编译得很好,但是 TransformBy 根本没有出现在 Intellisense 列表中。我重新启动IDE以防万一,但仍然没有运气。我正在使用 Delphi XE 2。

我发现以下关于类助手的声明:

实际上,类助手是一种编译器技巧,在幕后它只是对类进行操作的函数,但它不会污染名称空间,并且可以与 intellisense 一起使用

http://blogs.conceptfirst.com/blog/2006/05/08/class-helpers-good-or-bad/

所以我仍然希望这最终会奏效。

4

1 回答 1

3

在 XE2 中,记录助手中声明的方法不会显示在您键入.和/或按CTRL+时出现的可用方法列表中space。根据我的实验,XE5 似乎解决了这个问题,并且 XE5 Intellisense 可以看到辅助方法。

如果只有 Embarcadero 允许前向声明记录,这样我们就不需要求助于记录助手来使我们的类型正常运行。

于 2013-10-10T16:03:14.117 回答