4

I would like get in code name of base enum not value or label. With this code I get label not name:

info(enum2str(AssetGroup::AssetGroup1));
valvore92
  • 317
  • 1
  • 9
  • 24

2 Answers2

11

Simply use enum2Symbol()

For example:

enum2Symbol(enumNum(KPAssetGroup), KPAssetGroup::PWNiP);
Jonathan Bravetti
  • 2,228
  • 2
  • 15
  • 29
Martin Dráb
  • 259
  • 1
  • 7
5

You can do this as follows.

1 - Declare a EnumId variable.

2 - Declare a dictEnum variable.

3 - Declare a int variable.

4 - Use index2Symbol method of dictEnum to get code name of base enum.

Optional - Use index2Label method of dictEnum to get label of base enum.

Code example:

static void StackOverflow(Args _args)
{    
    EnumId   Id        = enumNum(SalesType);
    DictEnum dictEnum  = new DictEnum(Id);
    int      EnumValue = enum2Int(SalesType::Journal); //Replace Base enum for Your Base Enum.

    info(dictEnum.index2Symbol(EnumValue));  
    //info(dictEnum.index2Label(EnumValue)); //Optional only reference   
}
Jonathan Bravetti
  • 2,228
  • 2
  • 15
  • 29