Jul
25
2010

Parametros Opcionales en C# 4.0

Un saludo nuevamente a todos!
Esta ves hablaremos sobre la posibilidad de usar parámetros opcionales dentro de nuestros métodos de C#. Como recordamos, antes de la versión 4.0 esto no era posible, y para estos casos, se creaban métodos con el mismo nombre pero diferentes parámetros, la conocida “sobrecarga de métodos”, que esta protegida por el paradigma de la programación orientada a objetos.
Ahora con los parámetros opcionales esto ya no sera necesario, lo cual ayudara a que nuestro código sea mas legible cuando hay muchas variantes de métodos.

Empezamos a crear algo de código muy sencillo, primero creamos un proyecto de consola basado en C# y Framework 4.0 claro, esta característica solamente aquí esta disponible.

Ahora crearemos un pequeño método estático para mostrar mensajes en la consola, estos mensajes serán enviados como parámetros. Este método tiene unos cambios en particular, asignaremos los valores de los parámetros en la definición del método de la siguiente manera.

static void Optional(string x = "Mensaje 1", string y = "Mensaje 2")
{
   Console.WriteLine(x);
   Console.WriteLine(y);
}

Los valores definidos para los parametros son llamados “DataTemplate”, y son usados para reemplazar los valores vacios cuando este metodo sea llamado solamente con un parametro.
A continuacion pondremos algunas lineas de codigo en nuestro metodo Main para consumir este metodo:

static void Main(string[] args)
        {
            Optional();
            Console.WriteLine("----------------");
            Optional(y: "Otro Mensaje");
            Console.Read();
        }

Vemos que en la primera linea dentro del metodo solamente llamamos al metodo sin parametros, por defecto, nuestro metodo muestra los valores definidos en las templates. En la tercera linea invocamos al metodo asignado el valor nuevo al parametro “y”.
Con este pequeño ejemplo tenemos una serie de conceptos nuevos, ahora podemos invocar metodos con parametros sin necesidad de suplir los valores de los parametros y tambien que podemos asignar los valores de los parametros en orden diferente al definido dentro de los metodos, estos puntos nos ayudan mucho al momento de tener muchas lineas de codigo por la sobrecarga de metodos, el cual puede ser reemplazado por esta tecnica cuando sea necesario.
Muchos saludos a todos!!!

1 Comment + Add Comment

  • Muy interesante tu aporte, por lo que veo se vuelve más legible y comprensible de entender en vez de sobrepasar sus parámetros para volver el método más flexible.

    Resulta que soy amigo de Alan Granados as well, de aquí de Honduras, me lo saludas. También estudié Sistemas y me mueve lo que es el diseño gráfico combinado con la web.

    Dios te bendiga y gracias por el aporte del blog.

    Saludos.

Leave a comment