Object Pascal 有没有提供对“类类型”的类型转换?(100分)

  • 主题发起人 主题发起人 darkiss
  • 开始时间 开始时间
D

darkiss

Unregistered / Unconfirmed
GUEST, unregistred user!
问题的描述为:
TComponentClass = class of TComponent
TClass = class of TObject

var TC1 :TComponentClass
TC2 :TClass
begin
// 我该怎么把 TC1 转换为TC2,或者反过来,把TC2转换为TC1???
// 不是对类的对象的类型转换,现在我想对“类类型”的对象进行类型转换。
with TC2 as TC1 do
begin
/// 这样写错误!!!
end
////我该怎么办?
////我该怎么办???????
end
 
强制转换?
TComponentClass(TC2)
 
我上面写错了一点。。。。应该是:
with TC1 as TClass do
begin
....
....
end
对不起。

to SuperJS:我试过了,用as 和你说的那种形式都不行。况且,as 和你列出的转换形式
本质上不同,as 是动态束定的,相当与C++中的dynamic_cast ,可以从基类对象转换到
派生类对象;而后一种形式相当于static_cast ,是编译时确定的,只能从派生类对象转
换到基类对象。这和我想要达到的目的不同。。。。。。我一定要用dynamic_cast。

大家想想看,如果可以这样的话,我们的程序可以写的更漂亮,灵活。

我刚刚接触Delphi,所以对语法上的东西不是很懂,请各位大富翁多多帮助。
 
后退
顶部