gpt4 book ai didi

class - 如何在类中创建类的属性?

转载 作者:行者123 更新时间:2023-12-01 16:51:49 24 4
gpt4 key购买 nike

对于Delphi XE6,我正在创建一个名为TAccountSearch的类。它具有少量的属性和一类TObjectList。我的问题是我似乎无法使TObjectList类公开为属性。

代码段...创建将用于TObjectList的类

  type
TSearchHits = class
ID: Integer;
Name : String;
...
end;

现在创建包含TObjectList实例的类。
type
TAccountSearch = class
private
zSearchPhrase: string;
zList: TObjectList<TSearchHits>;
...
property SearchPhrase: string read zSearchPhrase;
property MyList:TObjectList<TSearchHits> read TObjectList<TSearchHits>;
end;

TAccountSearch.SearchPhrase是有效的属性。 TAccountSearch.MyList不是....
如何从accountSearch类授予调用程序访问SearchHits作为属性的权限?其次,如果我没有在PROPERTY行上包含WRITE定义,则该属性被视为只读。
准确吗?这是制作只读属性的正确方法吗?

最佳答案

您访问实例变量zList以获得对内部存储器的访问权:

property MyList: TObjectList<TSearchHits> read zList write zList;

如果需要设置程序,请使用 write SetMyList

您也可以使用getter函数来获取访问权限:
private
function GetMyList: TObjectList<TSearchHits>;
published
property MyList: TObjectList<TSearchHits> read GetMyList write SetMyList;

getter函数将被编写为
function TAccountSearch.GetMyList: TObjectList<TSearchHits>;
begin
Result := zList;
end;

实现只读属性的方法只是忽略 write部分。
property MyList: TObjectList<TSearchHits> read zList;

关于class - 如何在类中创建类的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com