Extrair Interface Refatoração (C#)
Extrair Interface é uma operação de refatoração que oferece uma maneira fácil de criar uma nova interface com membros que se originam de uma classe existente, struct ou interface.
Quando vários clientes usam o mesmo subconjunto de membros de uma classe, struct ou interface, ou quando várias classes, structs ou interfaces têm um subconjunto de membros em comum, pode ser útil abranger o subconjunto de membros em uma interface. Para obter mais informações sobre o uso de interfaces, consulte Interfaces (C# Programming Guide).
Extrair Interface gera uma interface em um novo arquivo e posiciona o cursor no início do novo arquivo. Você pode especificar quais membros para extrair para a nova interface, o nome da nova interface e o nome do arquivo gerado usando o Extrair Interface caixa de diálogo.
Para usar a extrair Interface
Crie um aplicativo de console chamado ExtractInterfacee, em seguida, substitua Program com o seguinte código.
// Invoke Extract Interface on ProtoA. // Note: the extracted interface will be created in a new file. class ProtoA { public void MethodB(string s) { } }
Com o cursor posicionado no MethodBe clique em Extrair Interface sobre o Refactor menu.
O Extrair Interface caixa de diálogo aparece.
Você também pode digitar o atalho de teclado CTRL + R, I para exibir o Extrair Interface caixa de diálogo.
Você pode também direito do mouse, aponte para Refactore em seguida, clique em Extrair Interface para exibir o Extrair Interface caixa de diálogo.
Clique em Selecionar todos os.
Clique em OK.
Você verá o novo arquivo, IProtoA.cs e o código a seguir:
using System; namespace TopThreeRefactorings { interface IProtoA { void MethodB(string s); } }
Comentários
Este recurso só é acessível quando o cursor está posicionado a classe, struct ou interface que contém os membros que você deseja extrair. Quando o cursor está nesta posição, invoca a operação de refatoração Extrair Interface.
Quando você chama a extração da interface em uma classe ou em uma struct, a lista de interfaces e bases é modificada para incluir o nome da nova interface. Quando você chama a extração da interface em uma interface, a lista de interfaces e bases não é modificada.