查找程序中所有函数的名称

时间:2013-03-14 14:18:30

标签: c#

我想知道如何找到程序中所有函数的名称? 这有什么内置方法吗? 或任何暗示我怎么能找到? 堆栈跟踪或类似的东西?

2 个答案:

答案 0 :(得分:5)

var allMethods = typeof(AnyClass).Assembly
                                 .GetTypes()
                                 .SelectMany(type => type.GetMethods());

var allMethodNames = allMethods.Select(method => method.Name);


Console.WriteLine( string.Join(Environment.NewLine, allMethodNames) );

要检查许多装配,请使用下一个代码:

Assembly[] assembliesToInspect = {
                                    typeof(AnyClass).Assembly, 
                                    typeof(ClassFromAnotherAssembly).Assembly
                                 };

var allMethods = assembliesToInspect.SelectMany(assembly => assembly.GetTypes())
                                    .SelectMany(type => type.GetMethods());     

答案 1 :(得分:0)

您可以使用reflection打开您的程序或dll并枚举所有类型,并为每种类型枚举所有公共方法。