gpt4 book ai didi

c# - 从 C# 源文件中提取属性名称

转载 作者:太空狗 更新时间:2023-10-29 20:42:22 25 4
gpt4 key购买 nike

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

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

use reader = new StreamReader(existingFile)
let codeProvider = new CSharpCodeProvider()
let codeUnit = codeProvider.Parse(reader)

不幸的是,Parse 函数没有为 CSharpCodeProvider 实现。有没有办法从源文件中获取 CodeCompileUnit?还是有另一种优雅的方式? (我曾希望避免使用正则表达式)?

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

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

最佳答案

找到了这个,但没有任何经验——无论好坏——:http://www.codeproject.com/KB/recipes/codedomparser.aspx

关于c# - 从 C# 源文件中提取属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3014865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com