質問

基本的にこの質問と同じですが、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.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top