J'ai récemment évité un problème de cyclage entre les constantes d'une classe enum dans .net (créée à partir de ma classe OWL, par Rowlex OwlGrinder). Le problème a été résolu en utilisant .net reflexion (grâce à l'aide précieuse du cher Mr. Jon Skeet): stackoverflow:problem-cycling-enum-class-valuesProblème dans la sélection des constantes d'une classe enum
En résolvant cela, j'ai commencé à l'utiliser. Après avoir mis en correspondance une valeur sélectionnée dropDownList avec l'une des instances de la classe enum, j'ai dû déclarer l'objet sélectionné (= Language) à mon sujet RDF (= learningResource), via un prédicat (= hasLanguage).
//learningResource is a new RDF subject, hasLanguage is predicate, and there
//is a new value for it - Language.
System.Reflection.FieldInfo[] resLanFields =
typeof(Language).GetFields();
for (int i = 0; i < resLangFields.Length; i++)
{
if (resLanFields[i].Name.Equals(dropDownList_lang.SelectedValue))
learningResource.hasLanguage = ??? //i-th constant of Language
}
Maintenant le problème apparaît; Je ne peux pas utiliser Language [i] (ou quelque chose comme ça pour sélectionner la i-ème constante de la classe Language) pour l'assigner à hasLanguage. Existe-t-il un moyen de sélectionner la i-ème constante d'une classe enum (comme les refélections)? Quelqu'un pourrait-il m'aider dans cette situation?
ce n'est pas une énumération, si je comprends la question originale. – Jimmy
Peut-être pas appelé enum classe! mais je suis presque sûr de l'avoir vu quelque part quand on y travaille – Ehsan