求大佬看一下FHashList这个变量是谁赋的值
THashMap = class(TInterfacedObject, IObject, IMap, IExtMap, IFListHolder, IFLockedListHolder, IFHashLockedListHolder)protected
FHashList: IFHashLockedList;
function GetFList: IFList;
procedure SetFList(l: IFList);
function GetFLockedList: IFLockedList;
procedure SetFLockedList(l: IFLockedList);
function GetFHashLockedList: IFHashLockedList;
procedure SetFHashLockedList(l: IFHashLockedList);
public
constructor Create;
constructor Create(keys: array of shortstring; values: array of IObject); overload;
constructor Create(keys: array of shortstring; values: array of const); overload;
public
procedure Clear;
function ContainsKey(const key: shortstring): Boolean;
function ContainsValue(value: IObject): Boolean;
function EntrySet: ISet;
function Get(const key: shortstring): IObject;
function IsEmpty: Boolean;
function KeySet: ISet;
function Put(const key: shortstring; value: IObject): IObject;
procedure PutAll(m: IMap);
function Remove(const key: shortstring): IObject;
function Size: Integer;
function Values: ICollection;
public
function GetStringObject(const key: shortstring): IString;
function GetString(const key: shortstring): string; overload;
function GetString(const key: shortstring; const def: string): string; overload;
function OutString(const key: shortstring): string; overload;
function OutString(const key: shortstring; const def: string): string; overload;
function GetBooleanObject(const key: shortstring): IBoolean;
function GetBoolean(const key: shortstring): Boolean; overload;
function GetBoolean(const key: shortstring; def: Boolean): Boolean; overload;
function OutBoolean(const key: shortstring): Boolean; overload;
function OutBoolean(const key: shortstring; def: Boolean): Boolean; overload;
function GetDoubleObject(const key: shortstring): IDouble;
function GetDouble(const key: shortstring): Double; overload;
function GetDouble(const key: shortstring; def: Double): Double; overload;
function OutDouble(const key: shortstring): Double; overload;
function OutDouble(const key: shortstring; def: Double): Double; overload;
function GetIntegerObject(const key: shortstring): IInteger;
function GetInteger(const key: shortstring): Integer; overload;
function GetInteger(const key: shortstring; def: Integer): Integer; overload;
function OutInteger(const key: shortstring): Integer; overload;
function OutInteger(const key: shortstring; def: Integer): Integer; overload;
function Put(const key: shortstring; const value: string): string; overload;
function Put(const key: shortstring; value: Boolean): Boolean; overload;
function Put(const key: shortstring; value: Double): Double; overload;
function Put(const key: shortstring; value: Integer): Integer; overload;
end;
FHashList这个变量是谁赋的值 在您提供的代码中,`FHashList` 是 `THashMap` 类的一个成员变量,它的类型为 `IFHashLockedList`。这个变量的值通常是在构造函数中赋值的。
让我们来看看构造函数的部分:
constructor Create;
constructor Create(keys: array of shortstring; values: array of IObject); overload;
constructor Create(keys: array of shortstring; values: array of const); overload;
在这个类中,虽然您没有看到直接对 `FHashList` 的赋值,但在 `Create` 构造函数中,您可以添加一行代码来初始化 `FHashList` 变量,例如:
constructor THashMap.Create;
begin
inherited Create;
FHashList := TMyHashLockedList.Create; // 假设 TMyHashLockedList 是 IFHashLockedList 的一个实现
end;
这样,每当您创建一个 `THashMap` 的实例时,`FHashList` 就会被赋上新值。
不过,由于该类也有重载的构造函数,您可能希望在这些构造函数中同样初始化 `FHashList`。例如:
constructor THashMap.Create(keys: array of shortstring; values: array of IObject);
begin
inherited Create;
FHashList := TMyHashLockedList.Create;
// 这里可以添加使用 keys 和 values 初始化其他数据结构的逻辑
end;
简而言之,`FHashList` 的赋值应该在构造函数内完成,而具体是用什么类来初始化,这依赖于您的设计和实现。记得要确保在使用 `FHashList` 前它已经被正确赋值哦,不然就像去餐馆点了菜却发现空盘子一样尴尬!希望这个回答能帮到你,继续加油!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]