2

オブジェクト ブラウザで参照ライブラリのすべてのメソッドを表示できます。これらすべてのメソッドをテキスト ファイルにエクスポートしたいと考えています。オブジェクトブラウザ

dotPeek にもアクセスできますが、そのソフトウェアにはエクスポート機能が見つかりませんでした。

4

2 に答える 2

2

Visual Studio でどのように実行できるかはわかりませんが、プログラムでリフレクションを使用できます。

System.IO.File.WriteAllLines(myFileName,
                System.Reflection.Assembly.LoadFile(myDllPath)
                    .GetType(className)
                    .GetMethods()
                    .Select(m => m.Name)
                    .ToArray());

到着予定時刻:

スクリーンショットのメソッドまたは DLL のすべてのメソッドが必要な場合、私は 100% ではないので、2 番目のバリアントで更新しました。

 System.IO.File.WriteAllLines(myFileName,
                System.Reflection.Assembly.LoadFile(myDllPath)
                    .GetTypes()                    
                    .SelectMany(t => t.GetMethods())
                    .Select(m => m.Name)
                    .ToArray());
于 2014-01-14T15:12:17.493 に答える
2

PowerShell を使用して、特定のアセンブリ内の型/メソッドのリストを取得できます。

$AssemblyList = [System.AppDomain]::CurrentDomain.GetAssemblies();

foreach ($Type in $AssemblyList[5].GetTypes()) {
    $MethodList = $Type.GetMethods();
    foreach ($Method in $MethodList) {
        $Type.Name + ' ' + $Method.Name;
    }
}

特定のファイル パスでリフレクションのみのロードを実行することもできます。

$Assembly = [System.Reflection.Assembly]::ReflectionOnlyLoadFrom('c:\path\to\assembly.dll');

foreach ($Type in $Assembly.GetTypes()) {
    $MethodList = $Type.GetMethods();
    foreach ($Method in $MethodList) {
        $Type.Name + ' ' + $Method.Name;
    }
}
于 2014-01-14T15:12:35.260 に答える