我有这些类和过程:如何确定一个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