Недавно я столкнулся с проблемой циклического переключения между константами класса enum в .net (который создан Rowlex OwlGrinder из моего класса OWL). Проблема была решена с помощью отражения .net (благодаря большой помощи уважаемого г-на Джона Скита): stackoverflow: проблема-цикличность-перечисление-значения-класса
Решив это, я начал его использовать. После сопоставления выбранного значения dropDownList с одним из экземпляров класса enum мне пришлось объявить выбранный объект (= Language) моему субъекту RDF (= learningResource) через предикат (= 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
}
Теперь проблема появляется; Я не могу использовать Language [i] (или что-то подобное для выбора i-й константы класса Language) для присвоения hasLanguage. Есть ли способ выбрать i-ю константу класса перечисления (например, рефлексы)? Кто-нибудь, пожалуйста, поможет мне в этой ситуации?