Insert int into Enum in Delphi Prism

Basically the same as this question, but in Delphi Prism:

Insert int for listing in C #

I manage to do this from a line:

YourEnum := Enum.Parse(TypeOf(YourEnum), "mystr") as YourEnum 

But I tried the following and got a type mismatch error:

 YourEnum := 3 as YourNum 

Any ideas what the syntax is for converting int to Enum?

+4
source share
1 answer

@Robo, sintax to convert int to Enum is

 YourEnumVar := YourEnum(3); 

or

 YourEnumVar := Object(3) as YourEnum; 

see this sample

 namespace ConsoleAppEnumsDelphiPrism; interface type Language = (Delphi=1,Delphi_Prism,CBuilder); ConsoleApp = class public class method Main; end; implementation class method ConsoleApp.Main; var MyEnum : Language; begin // String to Enum MyEnum := Language(Enum.Parse(typeof(Language), 'Delphi_Prism')); Console.WriteLine(MyEnum.ToString());//Print Delphi_Prism // Int to Enum MyEnum:=Language(2); Console.WriteLine(MyEnum.ToString());//Print Delphi_Prism // Int to Enum using "as" MyEnum:= Object(1) as Language; Console.WriteLine(MyEnum.ToString());//Print Delphi Console.ReadKey(); end; end. 
+3
source

Source: https://habr.com/ru/post/1303178/


All Articles