Como obter todos os valores de uma enumeração

Samuel Manoel De Souza  
Boa noite. Se eu tivesse uma enumeração cujos valores vão de 0 a 10, poderia montar uma lista usando um loop simples. Supondo que eu tenha uma enumeração cujos valores são desconhecidos, assim como o valor máximo e mínimos da lista, como eu poderia obter os valores possíveis dessa enumeração? Por exemplo, sabendo apenas o tipo da enumeração ENUM_NOME_DA_LISTA, que pode ser qualquer enumeração, pois seria para usar em um template, e não ter que adicionar uma verificação em um switch ou coisa do tipo, sempre que eu criar uma nova enumeração.
Alexandre Borela  
Samuel Manoel De Souza:
Boa noite. Se eu tivesse uma enumeração cujos valores vão de 0 a 10, poderia montar uma lista usando um loop simples. Supondo que eu tenha uma enumeração cujos valores são desconhecidos, assim como o valor máximo e mínimos da lista, como eu poderia obter os valores possíveis dessa enumeração? Por exemplo, sabendo apenas o tipo da enumeração ENUM_NOME_DA_LISTA, que pode ser qualquer enumeração, pois seria para usar em um template, e não ter que adicionar uma verificação em um switch ou coisa do tipo, sempre que eu criar uma nova enumeração.
Existe uma gambiarra mas não recomendo: https://www.mql5.com/en/forum/83666/page4#comment_2855538

Enums são resolvidas durante a compilação, teria que existir alguma forma de RTTI(Tipo reflection do C#) pra poder listar os itens sem gambiarras,
até no C++ teria problemas sem um compilador que adicionasse esses facilidades pra você.

Tem algum exemplo do porque você quer listar as enums? Talvez tenha alternativa mais simples.
How to get length of enum and item in MQL4/MQL5 ?
How to get length of enum and item in MQL4/MQL5 ?
  • 2016.05.10
  • www.mql5.com
How to get length of enum and item in MQL4/MQL5...
Ricardo Rodrigues Lucca  
Samuel Manoel De Souza:
Boa noite. Se eu tivesse uma enumeração cujos valores vão de 0 a 10, poderia montar uma lista usando um loop simples. Supondo que eu tenha uma enumeração cujos valores são desconhecidos, assim como o valor máximo e mínimos da lista, como eu poderia obter os valores possíveis dessa enumeração? Por exemplo, sabendo apenas o tipo da enumeração ENUM_NOME_DA_LISTA, que pode ser qualquer enumeração, pois seria para usar em um template, e não ter que adicionar uma verificação em um switch ou coisa do tipo, sempre que eu criar uma nova enumeração.

Poderia talvez estudar sobre o Design Pattern chamado State para substituir o enum.

Razão: