内部数组的访问元素

时间:2012-07-15 10:58:03

标签: arrays delphi

鉴于这样的课程:

TIntClass = class
private
    myInts : TList<Integer>;
...
end;

如何使用[]运算符访问内部列表的元素,例如

myIntList = TIntClass.Create();
myIntList[5];

提前致谢。

2 个答案:

答案 0 :(得分:6)

如果我理解正确,你需要定义一个私有函数,它将作为默认属性的“getter”:

注意:代码未经测试

type
  TIntClass = class
  private
      // returns a value from myInts based on Index parameter
      function getItem(Index: Integer): Integer;
  private
      myInts : TList<Integer>;
  ...
  public
      property Items[Index: Integer]: Integer read getItem; default;
  end;

...
implementation

function TIntClass.getItem(Index: Integer): Integer;
begin
  Result := myInts[Index];
end;

现在你可以这样做:

procedure test;
var
  LMyIntClass: TIntClass;
  L5thElemValue: Integer;
begin
  L5thElemValue := LMyIntClass[4]; // first element is accessed using LMyIntClass[0]
end;

答案 1 :(得分:0)

它应该是myIntList.myInts [5],假设您在同一个单元内,以便您可以访问TIntClass的私有成员。