Есть ли надстройка Visual Studio, которая может выполнять рефакторинг метода удаления?
Предположим, у вас есть следующий метод:
Result DoSomething(parameters)
{
return ComputeResult(parameters);
}
Или вариант, когда Результат недействителен.
Целью рефакторинга является замена всех вызовов DoSomething вызовами ComputeResult или выражением, использующим параметры, если ComputeResult не является вызовом метода.





Когда дело доходит до такого рефакторинга, попробуйте ReSharper.
Просто щелкните правой кнопкой мыши имя метода, выберите «Найти использование» и выполняйте рефакторинг, пока он не сможет найти никаких ссылок.
И, как упоминал dlamblin, в новейшей версии ReSharper есть возможность встроить метод. Это должно делать именно то, что вам нужно.
Я бы сделал это самым простым способом:
Возможно, VS покажет конфликт из-за последнего переименования, но проигнорирует его.
Под «переименованием» я имею в виду: перезаписать имя метода и после этого использовать раскрывающийся список (Shift + Alt + F10) и выбрать «переименовать». Он заменит все вхождения на новое имя.
Вы также можете щелкнуть правой кнопкой мыши имя метода и выбрать «Найти все ссылки» в Visual Studio.
Лично я бы просто сделал CTRL + SHIFT + H на Find & Replace
ReSharper определенно является подключаемым модулем VS 2008 для рефакторинга. Однако он не выполняет эту форму рефакторинга за один шаг; вам придется Refactor-> переименовать DoSomething в ComputeResult и игнорировать конфликт с реальным ComputeResult. Затем удалите определение DoSomething. Это почти один шаг.
Однако может быть сделай это за один шаг. Если я правильно прочитал.
Доступно несколько продуктов для добавления дополнительных параметров рефакторинга в Visual Studio 2005 и 2008, некоторые из лучших - Рефакторинг! Pro и Решарпер.
Что касается метода удаления, в канонической книге по рефакторингу есть описание того, как делать это постепенно.
Лично я следую шаблону в этих строках (предположим, что компиляция и запуск модульных тестов происходит между каждым шагом):
Если я понимаю вопрос, то Resharper вызывает этот «встроенный метод» - Ctrl - R + I
Можно ли это сделать без ReSharper?