对于我的应用程序,我想通过一个程序集进行解析并提取每个方法并将方法的名称和源代码存储在我的一个对象中(我在我的代码中定义)。
我应该从哪里开始实现?
编辑:从答案和评论中我看到从程序集中获取源代码并不那么容易。那么如果我想从我当前解决方案(visual studio)中没有的源代码文件中获取源代码,我应该从哪里开始呢?
最佳答案
程序集不包含源代码。您也许能够提取 IL,但如果没有 reflector 或 ildasm 等不是特别有用的工具。
要获取方法名,就像这样:
var assembly = Assembly.GetExecutingAssembly();
var names = (from type in assembly.GetTypes()
from method in type.GetMethods(
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.Static)
select type.FullName + ":" + method.Name).Distinct().ToList();
关于c# - 如何解析 C# 程序集并提取每个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207867/