Delphi Prismの中で列挙型にint型にキャスト
-
24-09-2019 - |
質問
基本的にこの質問と同じですが、Delphi Prismのでます:
C#で列挙にキャストINT の
私は、文字列からそれを行うために管理ます:
YourEnum := Enum.Parse(TypeOf(YourEnum), "mystr") as YourEnum
しかし、私は次のことを試みたが、型の不一致エラーを取得します:
YourEnum := 3 as YourNum
構文は列挙型にint型に変換するための何であるか?任意のアイデア
解決
@Robo、列挙型に変換するためのsintax INTは
でありますYourEnumVar := YourEnum(3);
または
YourEnumVar := Object(3) as YourEnum;
このサンプルを参照してください
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.
所属していません StackOverflow