2009-02-16 8 views
0

Par exemple, je pensais à remplacer ceci:Comment utiliser une énumération dans un ContentReader XNA?

var.StringAttribute = input.ReadString(); 

Avec quelque chose comme ceci:

var.EnumAttribute = input.ReadExternalReference<EnumName>(); 

Toutefois, cela ne fonctionne pas tout à fait droit. Et des idées sur comment obtenir des entrées pour lire une énumération personnalisée?

Répondre

1

ReadExternalReference Lit un lien vers un fichier externe - ce n'est pas ce que vous voulez faire. Si je vous ai bien compris, vous voulez lire une chaîne de caractères, et parse comme une énumération.

Essayez ceci:

string value = input.ReadString(); 
var.EnumAttribute = Enum.Parse(typeof(EnumName), value); 

Notez que cela fonctionnera pour les deux numéros (quoi que ce soit dans la gamme de type sous-jacent de l'ENUM - généralement Int32) valeurs et de chaîne, mais lancera une exception pour les valeurs non valides.