问题描述
Delphi 中的枚举是否可以重载隐式类型转换?
program TriState;
type
TTrilean = (trNone = -1,trFalse = 0,trTrue = 1);
TTrileanHelper = record helper for TTrilean
public
class operator Implicit(...)...; //E2123 PROCEDURE,FUNCTION,PROPERTY,or VAR expected
end;
var
v: TTrilean;
begin
v := trNone;
v := True; //Would like to have class operator Implicit here
end.
解决方法
在Delphi 10.4.2 documentation中我读到:
注意:类和记录助手不支持运算符重载。