我想知道如何找到程序中所有函数的名称? 这有什么内置方法吗? 或任何暗示我怎么能找到? 堆栈跟踪或类似的东西?
答案 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并枚举所有类型,并为每种类型枚举所有公共方法。