Но если небоходимо сравнить 2 метода Cecil не представляет быстрого способа это сделать.
Сесил не сохраняет информации о том, что реализация метода это просто набор байт. Есть возможность посмотреть на высокоровневые штуки под названием Opcode. Можно посмотреть на параметры опкода. Но получить набор байт представляющих метод нереально.
Приходится делать так
var bytes = string.Join(",", method.Body.Instructions);
С другой стороны, System.Reflection.MethodInfo позволяет сделать GetILAsByteArray.
Но с ним не будет работать Cecil.Decompiler.
З.Ы. Понятное дело что исходники Mono.Cecil открыты и можно отправить туда патч. Но примут его или нет - вопрос, а плодить сущности без необходимости не хочется.
Немає коментарів:
Дописати коментар