Refactorisation d'extraction d'interface (C#)
Extraire l'interface est une opération de refactorisation qui offre un moyen facile de créer une nouvelle interface avec des membres originaires d'une classe, struct ou interface existante.
Lorsque plusieurs clients utilisent le même sous-ensemble de membres d'une classe, struct ou interface, ou lorsque plusieurs classes, structs ou interfaces ont en commun un sous-ensemble de membres, il peut être utile d'incarner le sous-ensemble de membres dans une interface.Pour plus d'informations sur l'utilisation d'interfaces, consultez Interfaces (Guide de programmation C#).
Extraire l'interface génère une interface dans un nouveau fichier et positionne le curseur au début du nouveau fichier.Vous pouvez spécifier les membres à extraire dans la nouvelle interface, le nom de la nouvelle interface et le nom du fichier généré à l'aide de la boîte de dialogue Extraire l'interface.
Pour utiliser Extraire l'interface
Créez une application console nommée ExtractInterface, puis remplacez Program par le code suivant
// Invoke Extract Interface on ProtoA. // Note: the extracted interface will be created in a new file. class ProtoA { public void MethodB(string s) { } }
Placez le curseur sur MethodB et cliquez sur Extraire l'interface dans le menu Refactoriser.
La boîte de dialogue Extraire l'interfaces'affiche.
Vous pouvez également utiliser le raccourci clavier CTRL+R, I pour afficher la boîte de dialogue Extraire l'interface.
Vous pouvez également cliquer avec le bouton droit, pointer sur Refactoriser, puis cliquer sur Extraire l'interface pour afficher la boîte de dialogue Extraire l'interface.
Cliquez sur Sélectionner tout.
Cliquez sur OK.
Vous découvrez le nouveau fichier, IProtoA.cs, et le code suivant :
using System; namespace TopThreeRefactorings { interface IProtoA { void MethodB(string s); } }
Notes
Cette fonctionnalité est accessible uniquement lorsque le curseur est positionné dans la classe, struct ou interface qui contient les membres que vous voulez extraire.Lorsque le curseur est dans cette position, appelez l'opération de refactorisation Extraire l'interface.
Lorsque vous appelez Extraire l'interface sur une classe ou sur une struct, la liste des bases et interfaces est modifiée pour refléter l'inclusion du nouveau nom d'interface.Lorsque vous appelez Extraire l'interface sur une interface, la liste des bases et interfaces n'est pas modifiée.