Рефакторинг опирается на поддержку инструмента, распознающую, когда определенный символ в коде (C #, XAML, config и т. Д.) Представляет идентификатор, который переименовывается.
В приведенном вами примере строковый литерал "FooProperty"
не может быть на 100% истолкован как принадлежащий MyDataObject
без специальных знаний о внутренней работе GridView
и расширении всех других типов в WPF и других средах.
Однако в DataTemplate можно быть уверенным на 99%:
<DataTemplate DataType="{x:Type local:MyDataObject}">
<TextBlock Text="{Binding Path=FooProperty}" />
</DataTemplate>
Я использую (и клянусь) плагин IDE под названием ReSharper (он же R #), который очень хорошо разбирается в подобных вещах. Если вы переименуете FooProperty
, R # автоматически переименует свойство.
В вашем примере, если бы вы переименовали свойство, R # все равно пригодился бы. Он находит все экземпляры строки в литералах (ваш случай) и комментариях (очень полезно, если вы закомментировали некоторый код и можете раскомментировать его позже). Вам предоставляется древовидное представление, отображающее каждый литерал в контексте, и вы можете проверить / снять отметку с отдельных операций / файлов / папок / проектов перед продолжением.
Если ваш бюджет позволяет, получите R #. Если ваш бюджет не позволяет, загрузите пробную версию, и к концу ее бюджет уйдет. Убедитесь, что вы распечатали копию сочетаний клавиш для улучшения вашего обучения.