Как узнать исходный код метода из dll через код C#?
Формулировка задачи:
Как узнать исходный код метода из dll через код C#? помогите, пожалуйста!!
Решение задачи: «Как узнать исходный код метода из dll через код C#?»
textual
Листинг программы
using ICSharpCode.Decompiler; using ICSharpCode.Decompiler.Ast; using Mono.Cecil; using Mono.Cecil.Rocks; ... private static string GetSourceCode(string typeName, string methodName) { ModuleDefinition module = ModuleDefinition.ReadModule(@"c:\path\to\asm.dll"); TypeDefinition type = module.Types.Single(t => t.FullName == typeName); MethodDefinition method = type.Methods.Single(t => t.Name == methodName); AstBuilder astBuilder = new AstBuilder(new ICSharpCode.Decompiler.DecompilerContext(type.Module) { CurrentType = type }); astBuilder.AddMethod(method); using (var output = new StringWriter()) { astBuilder.GenerateCode(new PlainTextOutput(output)); return output.ToString(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д