Пишем это в Delphi
uses System.Classes;
...
var
A: TAlignment;
Value: TValue;
begin
Value := 0;
A := Value.AsType<TAlignment>();
end;
поднимает EInvalidCast в AsType.
Есть ли способ привести к любому типу перечисления из целочисленного значения с помощью TValue?
Это, конечно, очевидный ответ:
A := TAlignment(Value);
но я хочу предоставить общую функцию, которая работает и с другими типами.
TValue.FromOrdinal
. Ваш пример пытается использоватьTValue
для преобразования типов, это не совсем то, для чего предназначенTValue
. - person nil   schedule 28.12.2018