从ac#源文件中提取属性名称

Pet*_*ete 7 c#

我想解析ac#文件.我唯一想要的是确定它是否包含具有特定名称的属性; 只是一个简单的真/假响应.或者更确切地说,因为我在每次运行中检查多个属性,所以提取属性名称列表可能会有所帮助

我认为我可以使用该CodeDomProvider功能创建一个优雅的解决方案(f#示例):

use reader = new StreamReader(existingFile)
let codeProvider = new CSharpCodeProvider()
let codeUnit = codeProvider.Parse(reader)
Run Code Online (Sandbox Code Playgroud)

不幸的是,该Parse功能没有实现CSharpCodeProvider.有没有办法CodeCompileUnit从源文件中获取?或者还有另一种优雅的方式吗?(我原本希望避免使用正则表达式)?

编辑:我将使用它来自动生成代码.基本上,我将在文件xyz.partial.cs中生成一个部分类.这将生成一个骨架属性.但是,如果我想更改属性的实现,我将剪切该属性并将其粘贴到手动编码的xyz.cs中.在重新创建生成的类时,我希望它跳过生成我已移动到手动编码文件的属性.

因此,反射是不可能的,因为反射将告诉我该属性确实存在,但如果它在一个或另一个文件中定义则不会.

Jay*_*Jay 0

找到了这个,但没有经验——好或坏——使用它:http ://www.codeproject.com/KB/recipes/codedomparser.aspx