Refatoração Extrair uma interface
Esta refatoração aplica-se a:
C#
Visual Basic
O quê: permite que você crie uma interface usando membros existentes de uma classe, struct ou interface.
Quando: você tem membros em uma classe, um struct ou uma interface que podem ser herdados por outras classes, outros structs ou outras interfaces.
Por quê: as interfaces são ótimos constructos para designs orientados a objetos. Imagine ter classes para vários animais (gato, cachorro, pássaro) que podem ter métodos comuns, como comer, beber, dormir. Usar uma interface como IAnimal permitiria que cachorro, gato e pássaro tivessem uma "assinatura" comum para esses métodos.
Refatoração Extrair uma interface
Coloque o cursor no nome da classe.
C#:
Visual Basic:
Em seguida, realize uma das seguintes ações:
- Teclado
- Pressione Ctrl+R, em seguida, Ctrl+I. (O atalho de teclado pode ser diferente de acordo com o perfil selecionado.)
- Pressione Ctrl+. para disparar o menu Ações Rápidas e Refatorações e selecionar Extrair Interface no pop-up da janela Visualização.
- Mouse
- Selecione Editar > Refatorar > Extrair Interface.
- Clique com o botão direito do mouse no nome da classe, selecione o menu Ações Rápidas e Refatorações e selecione Extrair Interface no pop-up da janela Visualização.
- Teclado
Na caixa de diálogo Extrair Interface que é exibida, insira as informações solicitadas:
Campo Descrição Nome da nova interface O nome da interface a ser criada. O nome usará como padrão IClassName, em que ClassName é o nome da classe selecionada acima. Nome do novo arquivo O nome do arquivo gerado que conterá a interface. Assim como ocorre com o nome da interface, esse nome usará como padrão IClassName, em que ClassName é o nome da classe selecionada acima. Selecione também a opção para Adicionar ao arquivo atual. Selecionar membros públicos para formar a interface Os itens a serem extraídos para a interface. Você pode selecionar quantos desejar. Selecione OK.
A interface foi criada no arquivo com o nome especificado. Além disso, a classe que você selecionou implementa essa interface.
C#:
Visual Basic: