属性(20分)

  • 主题发起人 主题发起人 shengguo
  • 开始时间 开始时间
S

shengguo

Unregistered / Unconfirmed
GUEST, unregistred user!
我定义了一个phoneNubers时:
property PhoneNumbers : TStrings read GetPhoneNumbers write
SetPhoneNumbers;
在我给phoneNumbers赋了一个值时,getphonenumbers
setphoneNumbers将按怎样的顺序执行?
 
赋值时只执行setphoneNumbers
 
赋值时只执行SetphoneNumbers,读phoneNumbers时才执行GetPhoneNumbers
 
实际上你如果写的是:
PhoneNumbers := ????
那么会先执行GetPhoneNumber,再执行SetPhoneNumber;
 
这个到没注意,在组件构建实例的时候要执行GetPhoneNumber的。
 
如果要执行setPhoneNumbers的话,它的参数从哪里来呢?
函数如下:
function TContact.GetPhoneNumbers: TStrings;
begin
result := CreatePhones;
end;
procedure TContact.SetPhoneNumbers(const Value: TStrings);
begin
if( Value = FPhoneNumbers ) then exit;
PhoneNumbers.Assign( Value );
end
 
应该是先执行get,再是set
 
PhoneNumbers := A
那么SetPhoneNumbers的参数就是A
 
后退
顶部