我们想要创建一个非常方便和稳定的数据类型转换,这里使用Delphi中的class helper
功能进行字符串数据类型转换。
type
TStringHelper = class helper for String
public
function AsBoolean: Boolean;
...
end;
{ TStringHelper }
function TStringHelper.AsBoolean: Boolean;
begin
Result := False;
try
Result := StrToBool(Self);
except
end;
end;
当我尝试在Delphi XE2中编译上面的代码时,我得到:
E2029“预期声明但发现字符串”
我的代码有什么问题?
答案 0 :(得分:3)
对于string
类型,您需要使用record
帮助程序而不是class
帮助程序。
type
TStringHelper = record helper for string
....
end;
请注意,基本数据类型的记录帮助程序(例如Integer
,double
,string
等)仅在XE3中引入,因此如果您使用旧版本,则不在运气。