题
我正在其中使用beeing本体的组件的语义web应用程序。我用Rowlex OWLGrinder转换OWL到组件上。
在本体有具有个人一些类,它们被转换TP含有的.dll组件一些常量枚举类。例如名为语言与名为英语个体中OWL类,将被转换为一个名为语言英语含有恒定类。所述Language.English是一个字符串,在本体中的个别指定包含URI。
替代文字http://img5.imageshack.us/img5/9308/73263054 .JPG 替代文字http://img5.imageshack.us/img5/2246/11461238.jpg
我这方面,我无法找到一种方法,枚举类常量之间循环。例如使用这样的:
foreach (string item in Enum.GetNames(typeof(Language)))
{
}
此代码抛出异常说语言不是一个枚举。
我想知道是否有人能帮助我在这个问题上。
解决方案
由于错误说,它不是一个真正的枚举。
这听起来像您需要反射:
var fields = typeof(Language).GetFields(BindingFlags.Static
| BindingFlags.Public);
foreach (string item in fields.Select(field => field.GetValue(null)))
{
// ...
}
这是假设有在种类没有其他公共静态域。你可以总是类型等进行过滤。
不隶属于 StackOverflow