我有一个枚举类型,例如
Type1=(left,right,up,down)
我通常必须构建一个函数将其转换为字符串以进行输出。
case Type of
left: result:='left'
right: result:='right'
.
.
.
end
有什么方法可以让我做类似
Type.toString
的事情,同时仍然可以使用Type:=left
进行简单的作业吗?
这可以通过
record helper
来完成,尽管它的名字是这样的,但它甚至可以用于枚举。
type
Type1 = (left, right, up, down);
Type1Helper = record helper for Type1
function ToString: string;
end;
function Type1Helper.ToString: string;
begin
case Self of
left: result := 'left';
right: result := 'right';
up: result := 'up';
down: result := 'down';
end;
end;