在我能記得所有的情況下,下面的說明給出相同的結果:InheritsFrom和is運算符有什麼區別?
type
TMyClass = class(TObject);
TMyChildClass = class(TMyClass);
var
MyObj : TMyChildClass;
procedure TForm1.Test();
var
ResultA : Boolean;
ResultB : Boolean;
begin
//Using TObject.InheritsFrom
ResultA := MyObj.InheritsFrom(TMyClass);
//Using 'is' operator
ResultB := MyObj is TMyClass;
//Showing results
ShowMessage(
'InheritsFrom = ' + BoolToStr(ResultA, True) + sLineBreak +
'is = ' + BoolToStr(ResultB, True)
);
end;
有沒有在使用,而不是TObject.InheritsFrom
功能is
運營商一定的差異?
即使兩者有細微差別,我們也不應該忽視它們確實有相似之處。 – Fero
從這個意義上說,我的意思是在某些情況下他們可以達到相同的結果! – Fero