有没有办法确定像
这样的字节大小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;
谢谢!
答案 0 :(得分:3)
获取实例化类型的大小是否有问题?
SizeOf(TItem<string>)
或者您可以像这样定义GetByteSize:
function TItem <T>.GetByteSize : Integer;
begin
Result := SizeOf(TItem<T>);
end;
答案 1 :(得分:0)
不,据我所知,你不能根据类型进行专业化