-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 に答える