.Net отличается IL, но тот же вывод. Зачем?

У меня есть 2 dll ("оригинал" и "новый"), и для одного метода IL сильно отличается внутри этих 2 dll (не только о nop, но о множестве различий). Но когда я декомпилирую эти две библиотеки, тогда C# создается точно так же для этих двух.

Почему это происходит? Это нормально и действительный сценарий? Могу ли я предположить, что функциональность одинакова на основе декомпилированного кода C# (хотя IL сильно отличаются)?

Другая информация:

  1. Visual Studio 2008 (3.5).
  2. Метод содержит длинную цепочку операторов switch... case.
  3. Я не могу изменить "оригинальную" dll (код C#), но я могу изменить код C# "новой" dll, чтобы восстановить dll и сравнить снова.
  4. Образец IL очень большой, иначе я мог бы вставить сюда.

Я не могу найти способ сделать IL "новой" dll (изменяя код C#) точно такой же, как "оригинальная" dll. Любое предложение для достижения этого?

0 ответов

Другие вопросы по тегам