有没有办法确定类似的东西的大小(以字节为单位)
TItem <T> = record
Data : T;
end;
我可以写类似的东西吗
function TItem <T>.GetByteSize : Integer;
begin
if (T = String) then
Result := GetStringByteSize (Data as String)
else
Result := SizeOf (Data);
end;
或者在特化的帮助下?
function TItem <String>.GetByteSize : Integer;
begin
Result := GetStringByteSize (Data)
end;
function TItem <T>.GetByteSize : Integer;
begin
Result := SizeOf (Data);
end;
谢谢!
最佳答案
获取实例化类型的大小有什么问题吗?
SizeOf(TItem<string>)
或者你可以像这样定义 GetByteSize:
function TItem <T>.GetByteSize : Integer;
begin
Result := SizeOf(TItem<T>);
end;
关于delphi - 泛型的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/802011/