Мне было любопытно, что иногда переименование файла запрашивает рефакторинг класса внутри и (чаще всего) иногда просто переименовывает файлы.
Почему переименование файлов иногда реорганизует имена классов, а иногда нет?
Ответ 1
Вот полный список из всех ответов, которые я мог проверить
Рефакторинг не будет срабатывать, если
пространство имен точно не соответствует соглашение (имя папки = namepsacename)
класс является общим
classname не соответствует имени файла
имеется более одного класса.
в файле
есть ошибки в файле
файл находится в другом проекте
Ответ 2
Я думаю, что имя класса должно точно соответствовать имени файла. Это также может зависеть от того, компилируется ли ваш код в то время, хотя и не уверен в этой точке.
Ответ 3
В дополнение к тому, что сказал AndrewS, я считаю, что если у вас есть несколько классов в одном файле, он также не будет просить реорганизовать его.
Ответ 4
Могут возникнуть проблемы, когда унаследованный класс лежит в другой сборке. Для меня перезапуск VisualStudio иногда исправлял его.