J'ai un cours comme:
Class MyClass
{
public MyClass { ... }
public string Name { get { ... } }
public int IdNumber { get { ... } set { ... } }
public void GenerateNme {...}
}
C'est juste un exemple de classe. Je souhaite générer une interface à partir de celui-ci. MyClass implémente l'interface IMyClass. Je souhaite que la sortie soit
public Interface IMyClass
{
string Name { get; }
int IdNumber { get; set; }
void GenerateNumber();
}
et
MyClass : IMyClass
{
}
Cela peut être fait manuellement, mais j'étais simplement curieux de savoir s'il existe une autre méthode simple à suivre pour y parvenir. Si ce n'est pas clair, laissez un commentaire.
Merci.
Oui, vous pouvez extraire une interface d'une classe à l'aide de Visual Studio:
Dans le fichier de classe cible: Clic droit > Refactor > Extract Interface ...
Exemple
puis
Dans Visual Studio 2015/2017/2019, cela se trouve dans le menu Actions rapides (Ctrl+ période .)
Veillez à placer le curseur quelque part dans le nom de la classe à partir de laquelle vous voulez extraire l'interface. Sinon, il indique "pas d'action rapide disponible ici".
Remarque: cela n'est possible que si vous pouvez réellement extraire une interface. Par exemple, si votre classe n'a que des méthodes statiques, cela ne fonctionnera pas.
Dans Visual Studio 2010, vous pouvez cliquer avec le bouton droit de la souris sur MyClass
et choisir Refactor
, `Extract Interface ..." (Ctrl+R, I). Cela vous donne une fenêtre pour vérifier les membres à extraire.
Dans Visual Studio 2015, cliquez sur le curseur ou faites un clic droit sur le nom de la classe, puis sélectionnez Actions rapides (ou appuyez sur Ctrl-.) et l’option "Extraire l’interface" apparaît.
Prenez des notes s'il vous plaît. si votre classe a un "statique". vous ne pourrez pas extraire d'interface. afin de supprimer ce premier avant d'extraire à l'interface
Ctrl+. apparaissait 'générant des substitutions ...' et rien ne se passait au-delà de cela, alors j'ai cherché 'refactor' dans la boîte de recherche de lancement rapide. Les résultats ont Edit -> Refactor -> Extract Interface
(Ctrl+R, Ctrl+I) option.
En espérant que ce conseil puisse aussi aider quelqu'un d'autre. J'utilise VS 2017 EE.
Dans le menu de refactorisation de visual studio, il existe une option "extraire l'interface" qui fait exactement ce que vous décrivez.