Como vemos ya tenemos una lista preestablecida de la estructura de una clase, directivas, regiones, etc.
Aplicando como ejemplos una región obtenemos lo siguiente:
Creo una aplicación de tipo Consola la cual dentro del punto de entrada, escribe en un archivo de texto, la idea es extraer este código y convertirlo en un método, como hacemos esto pues veamos.
Creo la aplicación de tipo consola con el código para crear el archivo de texto dentro del punto de entrada.

- El siguiente paso es más sencillo que el primero, simplemente seleccionar el trozo de código que queremos extraer y convertir en método.
Lo único que tenemos que hacer es dar nombre al método.
Esto en un caso real también mejora tiempos de respuesta porque de una manera segura el IDE hace el trabajo de convertir el código en método, el resultado lo vemos en la siguiente gráfica.
Rename, esta opción se encuentra dentro de la opción Refactor en Visual Studio 2005 Beta.
La idea de esta opción es renombrar de manera segura y visualizar los próximos cambios del renombramiento.
Tomemos como ejemplo nuestro método escribirArchivo() que acabamos de generar.
Al seleccionar la opción Rename se muestra la siguiente ventana de diálogo.
Es importante aplicar los casillas de verificación preview reference changes, Search in comments, Search in strings, RenameOverloads.
Al momento de aceptar el cambio de nombre del método se muestra una ventana donde podemos visualizar los posibles cambios (según las casillas de verificación) dándonos la opción de aplicarlos ó cancelarlos, en nuestro caso aplicamos los cambios para obtener el siguiente resultado.
Encapsulate Field, esta opción se encuentra dentro de la opción Refactor en Visual Studio 2005 Beta.
La idea de esta opción es encapsular un miembro como una propiedad, veamos.
Voy a agregar a mi aplicación dos variables por valor de tipo string, una llamada Nombres y otra Apellidos ambas se muestran resaltadas con color amarillo.
namespace ca_RefactoringNet
{
class Program
{
string strNombre, strApellidos;
static void
Main(string[] args)
{
///Rename
generaArchivo();
}
/// <summary>
/// Rename
/// </summary>
private static
void generaArchivo()
{
FileStream objFile = new FileStream(@"E:\MiArchivo.txt", FileMode.Create);
StreamWriter objWriter = new StreamWriter(objFile,
Encoding.Default);
objWriter.WriteLine("Ejemplo de Extract
Method");
objWriter.Flush(); objWriter.Close(); objFile.Close();
}
}
}
Lo siguiente es seleccionar el campo a encapsular, en nuestro caso Nombres y seleccionar la opción Encapsulate Field.
Al encapsular el campo se muestra la siguiente ventana de dialogo donde podemos colocar el nombre de la propiedad, Update Referentes (External, All), preview reference changes, Search in comments, Search in strings.
Al encapsular el campo obtenemos una propiedad como vemos en la siguiente gráfica.
Extract Interface, esta opción se encuentra dentro de la opción Refactor en Visual Studio 2005 Beta.
La idea de esta opción es extraer los miembros públicos de una clase y crear una interface.
Para esto vamos a hacer unos cambios en nuestro código:
Agregamos un procedimiento publico Registrar y una función pública Edad, e código queda de la siguiente manera.
namespace ca_RefactoringNet
{
class Program
{
string strNombre, strApellidos;
public string
StrNombre
{
get
{
return strNombre;
}
set
{
strNombre = value;
}
}
static void
Main(string[] args)
{
///Rename
generaArchivo();
}
/// <summary>
/// Rename
/// </summary>
private static
void generaArchivo()
{
FileStream objFile = new FileStream(@"E:\MiArchivo.txt", FileMode.Create);
StreamWriter objWriter = new StreamWriter(objFile,
Encoding.Default);
objWriter.WriteLine("Ejemplo de Extract
Method");
objWriter.Flush(); objWriter.Close(); objFile.Close();
}
public virtual
Int32 Edad(DateTime
fecha) { return Edad; }
public virtual void Registrar() { }
}
}
El siguiente paso es seleccionar la opción Extract Interface, aparece una ventana de diálogo de donde podemos edita la interface así como seleccionar los miembros públicos que deseamos mostrar en la interface.
El IDE de VS .NET nos genera automáticamente la Interface como vemos en la siguiente gráfica.
Promote Local Variable to Parameter, esta opción se encuentra dentro de la opción Refactor en Visual Studio 2005 Beta.
La idea de esta opción es como su nombre lo indica promover una variable local como un parámetro.
Para ver este ejemplo seleccionamos nuestra variable objFile incluida en el método generaArchivo(), y ejecutamos la opción Promote Local Variable to Prometer.
Al ejecutarlo obtenemos el siguiente resultado, noten que el procedimiento generaArchivo recibe como parámetro un objeto FileStream.
Así mismo encontramos dos opciones más en esta versión Beta Remove Parameters (remover parámetros) y Reorder Parameters (Reordenar parámetros).
En proximas entregas se estará analizando más ventajas que nos prepara la versión 2005 de Visual Studio .NET, así como las novedades del .Net Framework 2.0, ADO .NET 2.0, ASP .NET 2.0, novedades en el desarrollo de aplicaciones WinForms y temas más complejos como Web Service, Componentes Servidos, Remoting, etc.