-3

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

4

2 回答 2

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());     
于 2013-03-14T14:21:55.597 回答
0

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

于 2013-03-14T14:21:45.147 回答