TBase = class(TObject)
...
TDerived = class(Tbase)
...
if myObject is TBase then ...
Run Code Online (Sandbox Code Playgroud)
如果myObject属于TDerived类,我可以以某种方式对此进行编码并返回false吗?
klu*_*udg 14
如果需要精确的类类型检查,请使用ClassType方法:
type
TBase = class(TObject)
end;
TDerived = class(Tbase)
end;
procedure TForm1.Button1Click(Sender: TObject);
var
A: TBase;
begin
A:= TBase.Create;
if A.ClassType = TBase then ShowMessage('TBase'); // shown
A.Free;
A:= TDerived.Create;
if A.ClassType = TBase then ShowMessage('TBase again'); // not shown
A.Free;
end;
Run Code Online (Sandbox Code Playgroud)