我使用的是Delphi2009和VCL组件。我已经创建了一个名为TStreets的集合,它由items TStreet组成,它只有两个私有字段。现在我需要向Tstreet类添加另一个字段/属性,以跟踪(通过引用) TMyObject类的其他对象。
例如:假设TStreet集合包含5个元素和10个对象(TMyObject),它们在运行时存在于我的应用程序中。TMyObject的每个对象只能属于一个TStreet,所以我需要为每个TStreet保存对象的所有引用,然后才能将一个或多个对象引用从一个TStreet移动到另一个。我应该在保存对象引用的TStreet下创建另一个列吗?
这条路走对了吗?
发布于 2011-02-15 01:26:55
给出了以下内容。
TMyObject = class
...
end;
TStreet = class
...
public
property MyObject : TMyObject ...;
end;
TStreets = TList<TStreet>;从您的问题中可以看出,一个TMyObject只能绑定到一个TStreet。
然后我会建议颠倒引用。
TStreet = class;
TMyObject = class
protected
FStreet : TStreet;
public
property Street : TStreet read FStreet write FStreet;
end;
TMyObjectList = TList<TMyObject>;
TStreet = class
private
// Looks through MyObjectList returning correct
function GetMyObjecty : TMyObject; reference.
public
property MyObject : TMyObject read GetMyObject;
// Reference to list that contains all instance of TMyObjectList.
property MyObjectList : TMyObjectList;
end;
TStreets = TList<TStreet>;
TMyObjectList = TList<TMyObject>;https://stackoverflow.com/questions/4994167
复制相似问题