有没有办法将类的源代码表示为对象?我想浏览方法,他们的身体等。如何使用像Stylecop,ReSharper这样的工具在Visual Studio 2010中做到这一点?是否有任何外部库作为输入源代码文件并产生对象的表示?我可以阅读,修改或分析哪些内容?
答案 0 :(得分:2)
至于已编译的程序集。 Reflection可以为您提供有关对象结构的最多信息。但要获得真正的代码,您需要降至IL。
对于在Visual Studio中打开的代码,然后VS公开了许多插件使用的COM接口。 EnvDTE是此接口的托管包装器。但是文档很少。
答案 1 :(得分:2)
NRefactory将为您做到这一点:
http://wiki.sharpdevelop.net/NRefactory.ashx
编辑:这是一个“解析器”,这是你想要的。它将C#代码转换为抽象语法树,然后可以使用代码修改并转换回C#。
答案 2 :(得分:0)
如果您只想列出方法,类,属性名称,那么Reflection是一个很好的简单解决方案 - 例如请参阅http://www.java2s.com/Tutorial/CSharp/0400__Reflection/ListMethods.htm
等简单教程如果您想要更详细的分析,包括方法体,那么从一个或多个Reflector替换的源代码开始可能是个好主意 - 例如