Как переименовать пространство имен ac # в существующем API, не нарушая пользовательский код? - PullRequest
5 голосов
/ 18 июня 2010

Можно ли переименовать имя пространства имен в существующем API, не нарушая пользовательский код?

Ответы [ 4 ]

5 голосов
/ 18 июня 2010

Можно ли переименовать имя пространства имен в существующем API, не нарушая пользовательский код?

Если вы измените пространство имен, в котором находится объект, он нарушит код, ссылающийся на него.

5 голосов
/ 18 июня 2010

нет, это невозможно.Лучше всего переименовать пространство имен в одном файле: http://msdn.microsoft.com/en-us/library/sf0df423(VS.80).aspx

3 голосов
/ 18 июня 2010

Вы можете сгенерировать группу объектов в старом пространстве имен, которые просто делегируют свои вызовы новым (в сущности, прозрачным прокси), а затем отказываются от прокси-объектов в некоторый момент в будущем.

Может быть, довольно ужасно в зависимости от размера / сложности вашей кодовой базы.

Лучше может быть просто нетехнический ответ, предупреждающий ваших пользователей о том, что перед ним происходит изменение пространства имен APIбыть освобожденным.Предполагая, что они активно развивают клиентов, поиск / замена - это не конец света для них.

Если имеется значительное число НЕ активно развивающихся клиентов, вам придется некоторое время продолжать ветвь обслуживания / исправления ошибок со старым пространством имен.

0 голосов
/ 18 июня 2010

Если у вас есть доступ к коду вызывающих API, вы можете использовать псевдоним для ссылки на новое пространство имен.

Таким образом, с точки зрения вызывающего API, никаких изменений не произошло.

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