コード例 #1
0
ファイル: IlspyCmdProgram.cs プロジェクト: zyj0021/ILSpy
        static void ShowIL(string assemblyFileName, TextWriter output, string[] referencePaths)
        {
            CSharpDecompiler       decompiler   = GetDecompiler(assemblyFileName, referencePaths);
            ITextOutput            textOutput   = new PlainTextOutput();
            ReflectionDisassembler disassembler = new ReflectionDisassembler(textOutput, CancellationToken.None);

            disassembler.DisassembleNamespace(decompiler.TypeSystem.MainModule.RootNamespace.Name,
                                              decompiler.TypeSystem.MainModule.PEFile,
                                              decompiler.TypeSystem.MainModule.TypeDefinitions.Select(x => (TypeDefinitionHandle)x.MetadataToken));

            output.WriteLine($"// IL code: {decompiler.TypeSystem.MainModule.AssemblyName}");
            output.WriteLine(textOutput.ToString());
        }