viernes, 16 de julio de 2010

Parámetros opcionales en C# .NET

Hola a todos.

Para los que no lo sabéis, recientemente he entrado a trabajar en Ibermática.

La verdad que cuando fui a la entrevista, no esperaba aprender tanto como estoy aprendiendo en este tiempo. Interfaces, herencias, y cosas por el estilo ya no tienen ni la valía ni el misterio que tenían antes, y realmente estoy viendo todo esto de la programación desde otro punto de vista más estructurado, por decirlo de alguna manera.

Una pregunta que me ha rondado por la cabeza desde que me he cambiado de VB.NET a WPF en C# es de lo más tonta: ¿Cómo se meten parámetros opcionales en las funciones, y como se hacen por referencia?

En VB.NET era de lo mas chulo y hasta el propio IDE te daba la opción en la creación de un método...

Public sub metodo (ByRef Optional parametro as string = "valor por defecto")
End sub

....pero ó sorpresa, ó decepción que al parecer no mucha gente conoce esto en C#. Bien, después de unas pequeñas pesquisas con la reflexión (para quien no haya tenido una formación en condiciones, los atributos y la reflexión es la 8ª maravilla en la programación), pude obtener lo que me proponía en C#:

public void metodo ([Optional, DefaultParameterValue("valor por defecto")] ref string parametro)
{}

Ale, un saludo a todos.

No hay comentarios: