循环枚举类值时出现问题
我正在开发一个语义网络应用程序,其中使用了本体的组装。 我使用 Rowlex OWLGrinder 将 OWL 转换为汇编。
在本体中有一些具有个体的类,它们被转换为包含 .dll 程序集中的一些常量的 Enum 类。 例如,名为 Language 的 OWL 类,其中包含一个名为 English 的个体,将转换为包含 English 常量的名为 Language 的类。 Language.English 是一个字符串,包含为本体中的个体指定的 URI。
替代文本 http://img5.imageshack.us/img5/9308/73263054.jpg< /a> 替代文本 http://img5.imageshack.us/img5/2246/11461238.jpg< /a>
在这个上下文中,我找不到在枚举类常量之间循环的方法。 例如,使用类似这样的内容:
foreach (string item in Enum.GetNames(typeof(Language)))
{
}
此代码抛出一个异常,指出 Language 不是 Enum。
我想知道是否有人能帮助我解决这个问题。
I'm working on a semantic web application in which assembly of an ontology is beeing used. I used Rowlex OWLGrinder for converting OWL to assembly.
In the ontology there are some classes having individuals, which are converted tp Enum classes containing some constants in .dll assemblies. For example an OWL class named Language with an individual named English, will be converted to a class named Language containing English constant. The Language.English is a string, containing the URI specified for the individual in the ontology.
alt text http://img5.imageshack.us/img5/9308/73263054.jpg
alt text http://img5.imageshack.us/img5/2246/11461238.jpg
I this context I can not find a way to cycle between enum class constants. For example using something like this:
foreach (string item in Enum.GetNames(typeof(Language)))
{
}
this code throws an exception saying that Language isn't an Enum.
I was wondering if anyone would help me in this problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如错误所示,它不是真正的枚举。
听起来您需要反射:
假设该类型中没有其他公共静态字段。 您始终可以按类型等进行过滤。
As the error says, it's not a real enum.
It sounds like you need reflection:
That's assuming there are no other public static fields in the type. You could always filter by type etc.