Ефективне поширення змін інтерфейсу в Visual Studio

Оскільки я заглиблююся в світ роз'єднання та ін'єкцій залежностей, я знаходжу себе в написанні все більше інтерфейсів. Я роблю все можливе, щоб створювати інтерфейси, точно знаючи, як я їх використовую, але завжди є випадок, що я в кінцевому підсумку впроваджую інтерфейс, а потім змінюю спосіб його використання.

Я звик до автоматичної рефакторінгу VS. Але я виявив, що він не підтримує автоматичну зміну інтерфейсу, що поширюється, на класи впровадження. Чи є спосіб зробити це автоматично, тому я не копіюю і не вкладаю, доки мої помилки компіляції не зникнуть?

0

2 Відповіді

Оскільки Visual Studio, або будь-який інший інструмент не може "знати", яким має бути реалізація, то на вас, розробника, доводиться його реалізовувати.

Якщо ви змінили визначення інтерфейсу, це хороше річ, що компіляція завершується невдало, доки ви не впровадите цю зміну.

0
додано
@GarrisonNeely - Якщо ви додаєте член до вашого інтерфейсу, як би це поширювалося? Якщо додати формальний параметр?
додано Автор Oded, джерело
Я згоден, що я хочу, щоб компіляція зламалася, це просто здається тривіальним завданням, яке Visual Studio могло б зробити, щоб зміни мого інтерфейсу розповсюджувалися впродовж виконавців, так само, як коли я змінюю ім'я змінної або класу.
додано Автор Garrison Neely, джерело

Хотілося повернутися і відповісти на це питання:

Якщо ви хочете змінити ім'я методу інтерфейсу, якщо ви зміните його з класу інстанції, Visual Studio дасть вам можливість поширити його на інтерфейс (як і всі інші виклики по всьому коду, як звичайно). Якщо ви зміните назву методу у визначенні інтерфейсу, зміна не буде поширюватися на класи інстанції.

0
додано