【发布时间】:2011-10-28 03:41:56
【问题描述】:
我需要一个像TInterfacedObject 这样的基类,但没有引用计数(所以是一种TNonRefCountedInterfacedObject)。
这实际上是我第 n 次需要这样的课程,不知何故,我总是一次又一次地编写(阅读:复制和粘贴)我自己的课程。我不敢相信没有我可以使用的“官方”基类。
在实现IInterface 但没有引用计数的 RTL 中是否有一个基类,我可以从中派生我的类?
【问题讨论】:
-
我知道
TComponent确实禁用了引用计数,但您可能不想携带TComponent中的所有内容。我不知道任何预定义的类,我自己写了一个。 -
@Smasher:我很想使用
TComponent,但后来决定先问这个问题;)我想使用一个小型的专用课程。 -
感谢您的所有意见,考虑到您所有不同的实现,这很有趣!我喜欢添加一个用于调试的名称,
TInterfacedPersistent对我的口味来说仍然太重了,我几乎使用了TPureInterfacedObject(我喜欢这个名字!)但随后@Erwin 介入并向我展示了纯原生实现!虽然我不喜欢TSingletonImplementation这个名字。 -
对于完美主义来说,这个名字真的很讨厌。我会创建一个类型别名
TNonRefCountedInterfacedObject = TSingletonImplementation,以免自己混淆。
标签: delphi interface delphi-xe reference-counting