我有TbsManager類暴露Load方法,如:我需要打電話給車主所有者的方法時該怎麼辦?
TbsManager = class(TComponent)
private
FItems: TbsItems;
public
procedure Load(Item: TbsItem);
的TbsItem是TCollectionItem並且它是由TbsItems擁有:
TbsItem = class(TCollectionItem)
TbsItems = class(TCollection)
我希望我的TbsItems有Load方法(這是在onwer的所有者類),這是我如何實現它:
procedure TbsItem.Load;
begin
TbsManager(TbsItems(GetOwner).Owner).Load(Self);
end;
我不知道如果我做對了。這是一個安全的代碼?
我對您的措辭有點困惑。你的bsitems不會有加載方法,他們只是叫業主擁有者的方法。 –
@PieterB我不想重寫TbsItem中的Load()代碼,所以我調用了TbsManager的Load方法(它加載了當前的TbsItem)。希望我已經說清楚了。 – JustMe