我有這些類和過程:如何確定一個Delphi對象是否具有特定的類而不是任何後代類?
TParent = class(TObject);
TChild1 = class(TParent);
TChild2 = class(TParent);
Procedure DoSomething(obj:TParent);
我想要做的是,當obj
是TParent
,而不是一個後代引發異常。
我想過做這樣的事情:
if obj.classname = TParent.classname then raise exception.create....
,但它似乎有點的hackish(TM)
更多:是我的本意是爲了能夠通過該共享屬性的對象/共同的程序。經過深思熟慮,TParent對象根本不需要,我需要的是我的答案中顯示的接口對象。
從已經給出的答案公寓,當然有有效的情況下想要這個,但沒有那麼多。你爲什麼需要知道? – 2011-03-10 07:05:23
+1因爲認爲這是一個黑客。作爲一個經驗法則,如果你用* strings *做類型相關的事情,你可能做錯了什麼。 – 2011-03-10 08:02:10