lunes, 10 de septiembre de 2012

Caller Information con C# en Visual Studio 2012:

 
Mediante el uso de atributos del caller info, usted ahora puede tener información acerca de quien esta llamando un método. Puede obtener la ruta del archivo del código fuente, el numero de la línea, y el nombre del miembro del llamador. Esto puede ser útil para realizar el seguimiento, depuración y sirve como herramienta de diagnostico.
Los atributos de información de llamantes, aparecen como caídos del cielos para personas dedicadas a realizar métodos para diagnostico de una aplicación, ya que normalmente para esto lo que realizaba el desarrollador era la implementación de archivo de registro (log) que guardara lo que sucedía en determinado momento cuando era llamado un método, sin embargo para saber cual método estaba llamado al parámetro de la solución muchas veces era necesario trabajar con reflection para saber el nombre del método, o lo que realizada era implementar la interfaz NotifyPropertyChanged. Ahora sencillamente el desarrollador proporciona el atributo adecuado para los parámetros de una función con los valores que vienen por defecto y magia!!!! AHORA PODEMOS SABER CUAL ES EL METODO QUE ESTA LLAMANDO , sin tanto código.
Para obtener esta información, se utilizan atributos que tienen parámetros opcionales, los cuales tienen un valos por defecto. El espacio de nombre es System.Runtime.CompilerServices.
A continuación le nombro estos atributos:
CallerFilePathAttribute: Ruta completa del archivo que contienen el llamador. Esta ruta esta dada en tiempo de compilación y es de tipo string.
CallerLineNumbreAttibute: Numero de la línea de archivo origen en el cual el método es llamado y es de tipo string.
CallerNameAttribute: Entrega nombre del método o de la propiedad del llamante es de tipo string.
Veamos el siguiente ejemplo en donde tenemos un métodos principal llamado main del cual realizamos un llamado a un método para que imprima la ubicación del archivo del proyecto desde donde se esta ejecutando, la línea de código desde donde se esta llamando, y el nombre de método que lo llama.
El código fuente es el siguiente:
image
Al ejecutar este código lo que presentara en la ventana de consola es lo siguiente:
clip_image002

Ahora veamos que sucede si creamos otro método llamado OtroMetodo y desde el nuevo método llamamos a al método que tiene el decorado con los atributos de Caller Information.
clip_image004

Como podemos visualizar, en la función que llama ahora dice Otro Método y en la línea desde donde se llama es la línea 18 de nuestro código fuente.

DESCARGUE EL CODIGO DE EJEMPLO AQUI












No hay comentarios:

Publicar un comentario