2

クラスに次の列挙型があります。

  public enum InventoryType
    {
        EQUIP = 1,
        USE = 2,
        SETUP = 3,
        ETC = 4,
        CASH = 5,
        EVAN = 6,
        TOTEMS = 7,
        ANDROID = 8,
        BITS = 9,
        MECHANIC = 10,
        HAKU = 11,
        EQUIPPED = -1
    }

今、私はフィールドを持っています:

    public InventoryType InventoryType { get; private set; }

MySql からデータを読み込みます。type の MySql の列には、InventoryType である文字列があります。取得した文字列を enum InventoryType に変換するにはどうすればよいですか?

私は試した:

this.InventoryType = reader.GetString("type");

しかしもちろん、これは機能しません。文字列を取得しており、InventoryType が必要だからです。変換するにはどうすればよいですか?ありがとう。

4

3 に答える 3

3

Enum.Parse文字列を解析して列挙値に戻すために使用できます-

this.InventoryType = (InventoryType)Enum.Parse(typeof(InventoryType),
                                                 reader.GetString("type"));

また、Parse値が有効であることが確実な場合に使用します。それ以外の場合は使用してTryParseください。

于 2013-08-25T15:36:31.363 に答える