如何用“类”构建枚举类型?

问题描述 投票:0回答:1

我有一个枚举类型,例如

Type1=(left,right,up,down)
我通常必须构建一个函数将其转换为字符串以进行输出。

case Type of
left: result:='left'
right: result:='right'
.
.
.
end

有什么方法可以让我做类似

Type.toString
的事情,同时仍然可以使用
Type:=left
进行简单的作业吗?

delphi
1个回答
0
投票

这可以通过

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;
© www.soinside.com 2019 - 2024. All rights reserved.