2010-08-04 2 views
2

Я хотел бы сравнить две версии класса. Я использовал WinDiff, но он показывает много различий из-за разных комментариев и т. Д.Как сравнить определения классов

Кто-нибудь знает инструмент для сравнения двух определений классов (полей, методов и т. Д.) Для .NET?

Спасибо,

Martin

ответ

0

Нашего Smart Differencer сравнивает два исходных файлы программирование LANGAUGE с точкой зрения языковых структур, а не текстовой макета, поэтому он будет игнорировать комментарии и пробельные изменения.

Есть версии для многих языков, включая C#, но не VB.net.

3

Вы можете использовать WinMerge, который работает в принципе как WinDiff, но вы можете определить линию фильтров с описанием вещей, которые вы хотите игнорировать (например, комментарии).

Чтобы сравнить классы по их структуре, вы можете скомпилировать оба варианта, используя Lutz Roeder's reflector, чтобы декомпилировать их, а затем сравнить результат с WinDiff или WinMerge.

1

Если вы хотите сравнить исходный код, а затем с помощью довольно форматировщик (например, один в VS), чтобы нормализовать форматирование, вам все равно нужно обрабатывать упорядоченность членов и комментарии и т.д.

Лучше может быть используйте Reflector на скомпилированных сборках. Выберите каждый класс, разверните его методы (если вы хотите включить реализацию метода в сравнение), скопируйте и вставьте в текстовый файл, а затем сравните текстовые файлы.

Это должно устранить все несущественные (то есть не в сборке) детали.

(Обратите внимание, что может быть отражатель плагин, чтобы сделать это непосредственно.)

Смежные вопросы