访问受保护的属性

偶尔翻Marco Canto的书,看到这个小技巧,记下来,老是忘记这个小技巧。

比如要访问TDBGrid的Col和Row属性,这两个属性是Protected,一般不能直接访问,可以这样加个套:

type

  TFakeDBGrid = class(TDBGrid);


然后:TFakeDBGrid(dbgrid1).Col; TFakeDBGrid(dbgrid1).Row;


还有TControl的Text属性,大部分控件隐藏了或者改名为Caption

type

  TFakeControl = class(TControl);


TFakeControl(Button1).Text;


不过这样做,明显破坏了对象的封装,尽量少用。


注意:在哪个单元用,就得在那个单元声明TFake,才能访问保护属性,这是利用了DELPHI对于private和protected对于同单元可见特性。

但是现在版本有strict private和strict protected ,那就无能为力了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值