VS 2010 Обновление ссылок на интерфейс - PullRequest
0 голосов
/ 03 ноября 2011

Есть ли в VS 2010 способ автоматического обновления классов, ссылающихся на интерфейс? Скажем, я добавляю параметр в Export, есть ли функция, которая будет обновлять все мои интерфейсы ссылок?

public interface IStateExporter
{
    void Export();
}

до

public interface IStateExporter
{
    void Export(string path);
}

Ответы [ 4 ]

1 голос
/ 03 ноября 2011

Контекстное меню Refactor позволяет вам удалять и переупорядочивать параметры и обновляет все реализации интерфейса.Но лучшее, что может предложить VS2010 при добавлении параметра, - это возможность автоматически внедрять обновленный элемент с новым методом, который вызывает исключение NotImplementedException.

Я знаю, что CodeRush / Refactor Pro из DevExpress имеет функцию, которая поможет вам в добавлении/ изменение параметров и посещение каждого разработчика, чтобы позволить вам добавить параметр.Я думаю, что ReSharper имеет ту же функцию, но я точно не знаю.

0 голосов
/ 03 ноября 2011

Resharper работал отлично.

Добавил мой новый параметр в реализацию, и появился маленький значок, спросил меня, не хочу ли я обновить интерфейс и другие реализации, щелкнул да.Бэм, у всех м и интерфейса (одна и та же подпись) теперь есть параметр.

0 голосов
/ 03 ноября 2011

Пошёл искать ещё, Решарпер делает именно то, что я прошу.Не только из интерфейса, но вы также можете изменить реализацию, попросив обновить интерфейс и все ссылки.

0 голосов
/ 03 ноября 2011

Не так, как вы думаете, если я правильно вас понимаю.

Что вы можете сделать, это перейти к объявлению наследования и использовать функцию автоматического внедрения, чтобы сэкономить немного времени.

Так, например, поместите курсор над IStateExporter в строке

public class ContreteStateExporter : IStateExporter

и нажмите CTRL +.(Контроль плюс период) и выберите реализацию интерфейса.Затем вы можете скопировать вставить код из предыдущего метода.Тем не менее, очень грязный, но я полагаю, это сэкономит вам немного времени.

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