2012-02-14 12 views
29

tengo una clase como:Generar interfaz de clase existente

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

Es sólo una clase de muestra. Deseo generar Interface a partir de él. Al igual, MyClass está implementando la interfaz IMyClass. Deseo que la salida sea

public Interface IMyClass 
{ 
    string Name { get; } 

    int IdNumber { get; set; } 

    void GenerateNumber(); 
} 

y

MyClass : IMyClass 
{ 

} 

Se puede hacer de forma manual, pero yo era sólo curiosidad por saber, ¿hay algún otro método fácil de seguir para lograr esto? Si no está claro, deja un comentario.

Gracias.

+0

[DevExpress CodeRush] (http://www.devexpress.com/Home/Try.xml) es un complemento que lo hará por usted. No estoy seguro de si la [versión gratuita] (http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/) tiene esa refactorización en particular. – Blorgbeard

+1

Vaya, me equivoqué: esa refactorización está integrada en VS. Ignóreme :) – Blorgbeard

Respuesta

67

Sí, se puede extraer una interfaz de una clase utilizando Visual Studio:

Dentro del archivo de clase de objetivo: Haga clic derecho>Refactor>Extracto de interfaz ...

Ejemplo

enter image description here

continuación

enter image description here

+0

-1 por no decir cómo. Matthias por la victoria!;) – KevinDeus

+4

@KevinDeus ¿De verdad crees que "esta respuesta no es útil y en realidad merece ser votado negativamente"? – ken2k

+0

oh. muy extraño ... en mi computadora de trabajo las imágenes no se muestran ... ¡muchas disculpas! – KevinDeus

0

En el menú refactor de visual studio hay una opción de "extraer interfaz" que hace exactamente lo que describes.

8

En Visual Studio 2010, puede hacer clic derecho y elegir MyClassRefactor, `Extraer interfaz ..." (Ctrl +R,I). Esto le da una ventana para verificar los miembros que se extraerán.

24

En Visual Studio 2015/2017, esto es en el menú de acciones rápidas (Ctrl + periodo .)

+0

Esto no funcionaba, echaba de menos significaba 'punto': Ctrl + punto '.', Es decir, está en el menú Acciones rápidas. –

+1

Editado mi respuesta para ser más claro – cdie

+0

Asegúrese de colocar el cursor en algún lugar del nombre de clase del que desea extraer la interfaz. De lo contrario, muestra "no hay acciones rápidas disponibles aquí". No cambie una herramienta en ejecución Microsoft y la forma en que los usuarios hacen las cosas, hasta que sea mucho mejor que antes. Aprenda de Windows 8, es por eso que tenemos una actualización gratuita a Win10 ;-) – Legends

2

En Visual Studio 2015, haga clic en el cursor o haga clic derecho en el nombre de la clase, a continuación, seleccione Acciones rápidas (o presione Ctrl - .) y se muestra la opción 'Extraer interfaz'.

+0

Cool edit @Stijn, tendré que recordar que: Ctrl

0

'Ctrl' + '.' estaba apareciendo 'generando reemplazos ...' y nada estaba sucediendo más allá de eso, así que busqué 'refactor' en el cuadro de búsqueda de inicio rápido. Los resultados tenían la opción 'Editar -> Refactorizar -> Extraer interfaz (Ctrl + R, Ctrl + I)'.

Esperando, este consejo puede ayudar a alguien más también. Estoy usando VS 2017 EE.

Cuestiones relacionadas