2012-02-14 13 views
29

Ho una classe come:Genera Interface da classe esistente

Class MyClass 
{ 
    public MyClass { ... } 
    public string Name { get { ... } } 
    public int IdNumber { get { ... } set { ... } } 
    public void GenerateNme {...} 
} 

E 'solo una lezione di prova. Desidero generare un'interfaccia da esso. Come, MyClass sta implementando l'interfaccia IMyClass. Vorrei che l'uscita sia

public Interface IMyClass 
{ 
    string Name { get; } 

    int IdNumber { get; set; } 

    void GenerateNumber(); 
} 

e

MyClass : IMyClass 
{ 

} 

Si può fare manualmente, ma ero solo curioso di sapere, c'è qualche altro metodo semplice da seguire per raggiungere questo obiettivo? Se non è chiaro, lascia un commento.

Grazie.

+0

[DevExpress CodeRush] (http://www.devexpress.com/Home/Try.xml) è un plug-in che lo farà per voi. Non sono sicuro che la [versione gratuita] (http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/) abbia quel particolare refactoring. – Blorgbeard

+1

Oops, mi sbagliavo: quel refactoring è integrato in VS. Ignora me :) – Blorgbeard

risposta

67

Sì, è possibile estrarre un'interfaccia da una classe utilizzando Visual Studio:

All'interno del file di classe di destinazione: Fare clic destro>Refactor>Extract Interface ...

Esempio

enter image description here

poi

enter image description here

+0

-1 per non dire come. Matthias per la vittoria!;) – KevinDeus

+4

@KevinDeus Quindi pensi davvero "questa risposta non è utile e merita davvero di essere downvoted"? – ken2k

+0

oh. molto strano .. sul mio computer di lavoro le immagini non mostrano .. molte scuse! – KevinDeus

0

Nel menu refactoring di Visual Studio è presente un'opzione "estrai interfaccia" che fa esattamente ciò che descrivi.

8

In Visual Studio 2010, è possibile fare clic destro e selezionare MyClassRefactor, `Extract Interface ..." (Ctrl +R, I). Questo ti dà una finestra per controllare i membri da estrarre.

24

In Visual Studio 2015/2017, questo è sotto il menu Azioni rapida (Ctrl + periodo .)

+0

Questo non funzionava, mi mancava che intendessi "punto": Ctrl + punto ".", Cioè nel menu Azioni rapide. –

+1

Modificata la mia risposta per essere più chiara – cdie

+0

Assicurati di mettere il cursore da qualche parte nel nome della classe da cui vuoi estrarre l'interfaccia. Altrimenti mostra "nessuna azione rapida disponibile qui". Non cambiare uno strumento in esecuzione Microsoft e il modo in cui gli utenti fanno cose, finché non è molto meglio di prima. Impara da Windows 8, ecco perché abbiamo un aggiornamento gratuito a Win10 ;-) – Legends

2

In Visual Studio 2015, fare clic su cursore o fare clic destro sul nome della classe, quindi selezionare Azioni rapide (o premere Ctrl - .) e l'opzione 'Estrai interfaccia' mostra.

+0

Cool edit @Stijn, dovrò ricordare che: Ctrl

0

'Ctrl' + '.' stava spuntando 'generando forzature ...' e non succedeva niente oltre a quello quindi ho cercato 'refactoring' nella casella di ricerca di avvio rapido. I risultati hanno avuto l'opzione 'Modifica -> Refactor -> Estrai interfaccia (Ctrl + R, Ctrl + I)'.

Sperando, questo suggerimento può aiutare anche qualcun altro. Sto usando VS 2017 EE.

Problemi correlati