最近、(Rowlex OwlGrinder によって私の OWL クラスから作成された) .net の列挙型クラスの定数間の循環に関する問題が発生しました。問題は .net リフレクションを使用することで解決されました (親愛なるジョン スキート氏からの大きな助けに感謝します): stackoverflow:problem-cycling-enum-class-values
これを解決して使い始めました。dropDownList の選択値を enum クラス インスタンスの 1 つに一致させた後、述語 (=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 番目の定数 (リフレクションなど) を選択する方法はありますか? この状況で誰か助けてくれませんか?