出于兼容性原因(对象被序列化并导出并且必须与外部名称匹配)我希望字段名称为“type”,即
TTBaseWebResponse = class
private
type: String;
success: Integer;
end;
or
TTBaseWebResponse = class
private
ftype: String;
fsuccess: Integer;
public
type: string read fstring write fstring;
success: integer read fsuccess write fsuccess;
end;
Delphi(XE2)甚至不会编译它。 这是可能吗?怎么样?
答案 0 :(得分:9)
尝试使用&在字段名称之前
答案 1 :(得分:8)
扩展标识符
您可能会遇到标识符(例如类中的类型或方法) 与Delphi语言保留字同名。例如, 一个类可能有一个名为
begin
的方法。德尔福保留这样的话 因为开始不能用于标识符名称。如果您完全符合标识符,则没有问题。对于 例如,如果要使用Delphi保留字类型来表示 标识名称,您必须使用其完全限定名称:
var TMyType.type // Using a fully qualified name avoids ambiguity with Delphi language keyword.
作为较短的替代方案,可以使用&符号(& ) 解决标识符和Delphi语言之间的歧义 保留字。 & 可防止将关键字解析为 关键字(即保留字)。如果遇到方法或类型 与Delphi关键字同名,您可以省略命名空间 规范,如果您在标识符名称前加上&符号。但 当您声明与a具有相同名称的标识符时 关键字,必须使用& :
type &Type = Integer; // Prefix with '&' is ok.
答案 2 :(得分:6)
是的,你必须使用&在名字之前;
TTBaseWebResponse = class
private
&type: String;
success: Integer;
end;