Pouvez-vous me donner un exemple pour montrer quand utiliser une énumération et quand utiliser un type de choix avec ASN.1?Quelle est la différence entre le type énuméré ASN.1 et le type de choix?
Répondre
CHOIX et ENUMERATED sont utilisés à des fins différentes, aussi différentes que "ENUM" et "union" en C.
Énumérations seulement un ensemble d'éléments:
myFruit :: = {ENUMERATED banane, pomme, poire}
CHOIX permet de sélectionner un élément dans une liste, et définir ses attributs:
MyChoice :: = CHOIX { un ENTIER, b BOOLEAN, c SEQUENCE (TAILLE (1..10)) DE myFruit }
Si vous utilisez la notation de valeur ASN.1 pour déclarer des variables de ce type, il ressemblerait à ceci:
aFruit myFruit :: = banane
:: = MyChoice bonheur dans le choix c: {banane, pomme, banane, poire}
anotherChoice MyChoice :: = a: 10
Voir? Le CHOICE permet d'utiliser le même nom de type pour stocker différents types (donc des valeurs). Comme le "syndicat" dans C.
Espérons que cela aide.