.Net отличается IL, но тот же вывод. Зачем?
У меня есть 2 dll ("оригинал" и "новый"), и для одного метода IL сильно отличается внутри этих 2 dll (не только о nop, но о множестве различий). Но когда я декомпилирую эти две библиотеки, тогда C# создается точно так же для этих двух.
Почему это происходит? Это нормально и действительный сценарий? Могу ли я предположить, что функциональность одинакова на основе декомпилированного кода C# (хотя IL сильно отличаются)?
Другая информация:
- Visual Studio 2008 (3.5).
- Метод содержит длинную цепочку операторов switch... case.
- Я не могу изменить "оригинальную" dll (код C#), но я могу изменить код C# "новой" dll, чтобы восстановить dll и сравнить снова.
- Образец IL очень большой, иначе я мог бы вставить сюда.
Я не могу найти способ сделать IL "новой" dll (изменяя код C#) точно такой же, как "оригинальная" dll. Любое предложение для достижения этого?