C # класс обратной совместимости - PullRequest
0 голосов
/ 05 октября 2018

У меня есть пакет NuGet, который используется некоторыми проектами для внутренних целей.Теперь при рефакторинге проекта я обнаружил несколько классов, которые были названы неправильно.Я хочу знать, есть ли способ в C # изменить имена классов и ничего не нарушать.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

То, что вы делаете, зависит от степени изменений.Если типы с измененными именами не являются простыми типами (т. Е. Имеют много поведения) или используются во всем пакете, может быть очень трудно создать копию типа, потому что вы также должны убедиться, что код может использовать любой тип(какое-то время)В «новой» ветке: обновите имена типов, задокументируйте критические изменения и отправьте релиз как новую версию.Затем вы можете поддерживать обе ветви, пока не сочтете нужным прекратить работу над «старой» веткой.В «старой» ветке вы также можете пометить типы как устаревшие с предупреждением, что в будущей версии они будут иметь измененное имя.

0 голосов
/ 05 октября 2018

Нет способа переименовать идентификаторы, не нарушая чужой код.Лучшее, что вы можете сделать, это оставить идентификатор clAssNaME, предоставить новый ClassName и пометить clAssNaME как устаревший.Публикуйте новый выпуск с документированным и выделенным журналом изменений.

Когда вы достаточно уверены, что большинству людей удалось исправить свой код, удалите clAssNaME.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...