我最近遇到了一个关于在 .net 中枚举类的常量之间循环的问题(由 Rowlex OwlGrinder 从我的 OWL 类创建)。通过使用 .net 反射解决了问题(感谢亲爱的 Jon Skeet 先生的大力帮助): stackoverflow:problem-cycling-enum-class-values
通过解决这个问题,我开始使用它。在将 dropDownList 选定值与枚举类实例之一匹配后,我必须通过谓词 (=hasLanguage) 将选定对象 (=Language) 声明给我的 RDF 主题 (=learningResource)。
//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](或类似的东西来选择 Language 类的第 i 个常量)分配给 hasLanguage。有没有办法选择枚举类的第 i 个常量(如引用)?在这种情况下有人可以帮助我吗?