我正在使用德尔福 XE4。我尝试为 TBytes 定义一些辅助函数:
TBytesHelper = record helper for TBytes
public
function GetLength: integer;
end;
function TBytesHelper.GetLength: integer;
begin
Result := System.Length(Self);
end;
当我尝试使用新的辅助函数时:
var B: TBytes;
i: integer;
begin
B := TBytes.Create(1,2,3);
i := B.GetLength;
if i <> Length(B) then
raise Exception.Create('Incorrect result');
end;
我除了结果i
是3
,但事实并非如此。我指的是 SysUtils.pas 中定义的 TStringHelper 具有类似的构造。
有什么我想念的吗?