2011-02-14 66 views
0

我试图从一组包含枚举和函数的文件中获取值,但是我得到了一些问题。由于用户应该能够有添加自己的文件来阅读它不应该从其他来源来定义的文件怎么看C#从文件中的枚举中获取函数,枚举和值

/** 
info info info 
*/ 
enum MyEnum 
{ 
    Myvalue = 1, 
    Mysecondvalue, 
} 

/** 
more info 
*/ 
public MyFunction(); 

我需要得到MyEnum的名字和不带“=为例值1,“和”,“等我也需要信息和MyFunction没有”;“任何想法如何做到这一点?

编辑:这不是编译的文件,从可被视为TXT

+4

我只是被迫问为什么。为什么? – 2011-02-14 20:57:41

回答

0

好吧,需要一些清洁和一些修复,但我得到它的工作。不知道为什么我以前没有想过它,但继承人我做了什么。我一次读取1行文件,检查它的枚举,公共等,然后做我想要的东西。枚举是棘手的,它还不够工作,一些错误。在枚举中,我检查它是否是一个枚举,如果是,那么直到用“}”统计一行,然后添加我找到的值。但感谢您的答案,如果我没有得到它的工作! ;)

0

考虑到这些就不会被编译并脚本文件this question将指向您在正确的方向文件的。

我简化任务的解决方案是使用其中的一种语言解析器。我更喜欢.NET的一个是Gold Parser - 下载它,grab the C# language file,打开工具中的语法文件,然后单击右下角的按钮4次,直到出现提示保存CGT文件。

之后,follow these instructions用于使用CGT文件来解释使用Calitha引擎的C#脚本文件。本例使用的搜索查询语法,但你可以轻松适应它:

private void _lalrParser_OnTokenRead(LALRParser parser, TokenReadEventArgs e) 
{ 
    // See if the token's name is enum, next time round grab the names/values 
}