是否可以引用字段父类

时间:2013-05-09 18:57:55

标签: delphi delphi-xe2

使用:Delphi XE2

一个类的字段是另一个类。

在该字段的过程中是否可以引用容器类?

Type TClassA = class
 procedure ClassAMethod;
end;

Type TClassB = class
 ClassA : TClassA; 
end;

procedure TClassA.ClassAMethod;
begin
 // is it possible to get a reference to the 
 // owning ClassB object here?
end;

1 个答案:

答案 0 :(得分:8)

没有。这两个对象之间没有固有的联系。如果包含的对象需要引用容器,则需要为包含的类提供对该对象的引用。将其作为构造函数参数传递,例如:

constructor TClassB.Create;
begin
  inherited;
  ClassA := TClassA.Create(Self);
end;

如果这些对象来自TComponent,那么您可以使用Owner属性。