Compartir a través de


Refactorización de clases y tipos (Diseñador de clases)

Al refactorizar el código, lo hace más fácil de entender y mantener, y más eficiente al cambiar su estructura interna y la manera en la que están diseñados los objetos, no su comportamiento externo. Utilice el Diseñador de clases y la ventana Detalles de clase para reducir el trabajo necesario y la posibilidad de que se introduzcan errores al refactorizar código de .NET de Visual C#, .NET de Visual Basic o C++ en el proyecto de Visual Studio.

NotaNota

Si los archivos de un proyecto son de solo lectura, el motivo puede ser que el proyecto esté bajo el control del código fuente y no esté desprotegido, que sea un proyecto al que se hace referencia o que sus archivos estén marcados como de solo lectura en el disco.Al trabajar en un proyecto que se encuentre en uno de estos estados, se le presentarán varias formas de guardar el trabajo según el estado del proyecto.Esto se aplica a la refactorización de código y también al código que cambie de otro modo como, por ejemplo, editándolo directamente.Para obtener más información, vea Display of Read-Only Information.

Tareas comunes

Tarea

Contenido adicional

Refactorización de clases: puede utilizar operaciones de refactorización para dividir una clase en clases parciales o para implementar una clase base abstracta.

Trabajo con interfaces: en el Diseñador de clases, puede implementar una interfaz en el diagrama de clases conectándola a una clase que proporcione el código para los métodos de interfaz. Si está utilizando Visual C#, también puede extraer uno o más miembros públicos de un tipo a una nueva interfaz.

Refactorización de tipos, miembros de tipos y parámetros: con el Diseñador de clases, puede realizar fácilmente cambios como el cambio de nombre de un tipo o de miembros de tipos. Puede reemplazar los miembros de tipos o moverlos de un tipo a otro. Puede crear fácilmente tipos que aceptan valores NULL. Y, si está utilizando Visual C#, puede cambiar el orden de los parámetros del método.

Implementación de clases base abstractas

Puede utilizar el Diseñador de clases para implementar una clase abstracta.

Para este procedimiento, se presupone lo siguiente:

  • El proyecto contiene una clase abstracta.

  • La clase abstracta contiene miembros abstractos.

  • La clase abstracta es la clase base de una relación de herencia con otra clase. (No es necesario que la clase derivada sea una clase abstracta).

Implementación de una clase abstracta

  • Haga clic con el botón secundario en la clase derivada, elija IntelliSense y, luego, haga clic en Implementar clase abstracta. Todos los miembros abstractos de la clase base se implementan en la clase derivada.

Para más información, consulte Cómo: Crear la herencia entre tipos (Diseñador de clases) y Cómo: Crear tipos con el Diseñador de clases.

Extracción de miembros a una interfaz

Puede extraer uno o más miembros públicos de un tipo a una nueva interfaz.

Para extraer miembros a una nueva interfaz

  1. En el Diseñador de clases, haga clic con el botón secundario en el tipo que contiene el miembro o los miembros que quiere extraer, elija Refactorizar y, después, haga clic en Extraer interfaz.

    El cuadro de diálogo Extraer interfaz muestra los valores predeterminados del nombre de la interfaz y el nombre del archivo de código en el que se declarará. Acepte los valores predeterminados o cámbielos.

  2. En el panel Seleccionar miembros públicos para formar la interfaz, active o desactive la casilla situada junto a los miembros que quiera extraer a la nueva interfaz y, luego, haga clic en Aceptar.

    Se crea una interfaz nueva y el archivo que la aloja se agrega al proyecto.

Reemplazo de miembros de tipo

En el Diseñador de clases, puede permitir que los miembros como, por ejemplo, los métodos y las propiedades de una clase secundaria, reemplacen miembros heredados de una clase base. Solo se pueden reemplazar miembros si se cumple la siguiente circunstancia:

  • El método base reemplazado debe ser virtual, abstract u override. (No puede ser non-virtual ni static).

Para reemplazar un miembro

  1. En el diagrama de clases, haga clic con el botón secundario en una forma de clase y, luego, haga clic en IntelliSense y en Reemplazarmiembros.

    Aparecerá un cuadro de diálogo que muestra los miembros reemplazables.

  2. En la lista, especifique un miembro.

    Aparecerá en la clase un miembro con la misma información de nombre, modificador de acceso y valor devuelto, y su propiedad Modificador de herencia se establecerá en Visual Basic u override en C#.

Cambio de nombre de tipos y miembros de tipos

En el Diseñador de clases, puede cambiar el nombre de un tipo o un miembro de un tipo en el diagrama de clases o en la ventana Propiedades. En la ventana Detalles de clase, puede cambiar el nombre de un miembro, pero no un tipo. Al cambiar el nombre de un tipo o un miembro de tipo, el cambio se propagará a todas las ventanas y las ubicaciones de código donde apareciera el nombre anterior.

Para cambiar un nombre en el Diseñador de clases

  1. En el diagrama de clases, seleccione el tipo o el miembro.

    El nombre del miembro pasará a ser editable.

  2. Escribir el nuevo nombre del tipo o el miembro de tipo

Para cambiar un nombre en la ventana Detalles de clase

  1. Para mostrar la ventana Detalles de clase, haga clic con el botón secundario en el tipo o el miembro de tipo y, luego, haga clic en Detalles de clase.

    Aparecerá la ventana Detalles de clase.

  2. En la columna Nombre, cambie el nombre del miembro de tipo.

  3. Para mover el foco fuera de la celda, presione la tecla ENTRAR o haga clic fuera de la celda.

    NotaNota

    En la ventana Detalles de clase, puede cambiar el nombre de un miembro, pero no un tipo.

Para cambiar un nombre en la ventana Propiedades

  1. En el diagrama de clases o en la ventana Detalles de clase, haga clic con el botón secundario en el tipo o el miembro y, luego, haga clic en Propiedades.

    Aparecerá la ventana Propiedades, que muestra las propiedades del tipo o el miembro de tipo.

  2. En la propiedad Nombre, cambie el nombre del tipo o el miembro de tipo.

    El nuevo nombre se propagará a todas las ventanas y las ubicaciones de código del proyecto actual donde apareciera el nombre anterior.

Reordenación de parámetros

En el Diseñador de clases, puede cambiar el orden de los parámetros de método de los tipos.

NotaNota

Los parámetros opcionales deben ser los últimos parámetros en la lista de parámetros.Para obtener información sobre cómo crear parámetros opcionales con el Diseñador de clases, consulte Adding Parameters to Methods.

Para cambiar el orden de los parámetros

  1. En el diagrama de clases, expanda la forma del tipo y, después, el compartimiento Métodos.

  2. En el compartimiento Métodos, haga clic con el botón secundario en el método que tiene los parámetros que quiere reordenar, elija Refactorizar y haga clic en Reordenar parámetros.

    Aparecerá el cuadro de diálogo Reordenar parámetros.

  3. En el cuadro de diálogo Reordenar parámetros, mueva los parámetros para dejarlos en el orden que desee y, luego, haga clic en Aceptar.

    El orden de los parámetros cambiará en el código y en la forma del diagrama de clases.

Traslado de miembros de tipo de un tipo a otro

Con el Diseñador de clases, puede mover un miembro de tipo de un tipo a otro, si los dos se encuentran visibles en el diagrama de clases actual.

Para mover un miembro de tipo de un tipo a otro

  1. En un tipo que esté visible en la superficie de diseño, haga clic con el botón secundario en el miembro que quiera mover a otro tipo y, después, haga clic en Cortar.

  2. Haga clic con el botón secundario en el tipo de destino y, luego, haga clic en Pegar.

    La propiedad se quitará del tipo de origen y aparecerá en el tipo de destino.

Temas relacionados

Título

Descripción

Ver tipos y relaciones (Diseñador de clases)

Diseñar clases y tipos (Diseñador de clases)