【发布时间】:2017-05-04 18:02:27
【问题描述】:
我如何知道一个对象 (TObject) 是否为泛型 TList<T>。
我得到的对象可以是 TList<TWhateverObject> 或只是一个 TWhateverObject
也可以是TList<THelloWorld>
在我的代码中我不会使用这个:
If (oObject is TList<TWhateverObject>) or
(oObject is TList<THelloWorld>)
then begin
oObject.Free;
end;
但如果可能的话,更像这样:
If (oObject.IsList)
then begin
oObject.Free;
end;
Delphi 中是否有一些功能,或者我必须为 TObject (IsList) 创建一个帮助器,如果对象中存在属性添加、清除、项目、计数,则在 RTTI 中搜索。
【问题讨论】:
-
Tuo 可以尝试使用
is关键字,例如if (Sender is TObject) then。您的问题不是很具体,您的意思是 TList 吗?