miércoles, 17 de septiembre de 2014

Recorriendo las propiedades de una clase

Muchos de ustedes se han preguntado que es reflection en .NET y ese termino se escucha nombrar entre los que desarrollan bajo el framework de .NET, pues bien basicamente reflection en .NET nos sirve para extraer la informacion de una clase, en otras palabras nos sirve para extraer la metadata de una clase y de sus propiedades. En este pequeño ejemplo se construye una clase basica la cual tiene unas propiedades definidas tal cual se muestra en la imagen...
La idea es crear un datatable dinamico con base en la informacion que nos otorga el reflection para la clase que se ilustro en la anterior imagen. Para ello se debe tener presente mencionar el namespace System.Reflection para acceder a las propiedades de la clase que queremos obtener la informacion. Construimos un for each para recorrer las N propiedades que tiene nuestra clase, asi como se visualiza en la siguiente imagen.
En la imagen se resalta que se realizo la inclusion del namespace para poder acceder a la metadata de la clase asi mismo dentro del for each se hace referencia a que la variable a utilizar es de tipo propertyInfo la cual nos va a obtener toda la informacion pertinente a la clase a la cual vamos a acceder. Para este ejemplo, cada vez que obtenemos una propiedad se creara un DataColumn al cual se le agregar como parametro el nombre de la propiedad y el tipo de dato de la propiedad, gracias al namespace reflection obtenemos tanto el nombre como el tipo y muchas otras cosas mas que son utiles para el desarrollo de aplicaciones. Con la propiedad item.Name obtenemos el nombre de la propiedad Con la propiedad PropertyType.FullName obtenenmos el tipo de dato para asociarlo a cada columna que creamos en el DatatTable. Con la propiedad item.Value podremos obtener el valor que tiene la propiedad. Espero que les haya servido el ejemplo

domingo, 10 de noviembre de 2013

La famosa clase singleton en C#

Buen Dia, para hoy publico como realizar una conexion a base de datos a traves de una clase singleton. Una clase singleton es aquella en donde se crear a partir de una unica instancia por lo que nos da como ventaja que que siempre se trabjara con una unica instancia sin correr el riesgos de tener problemas de concurrencia. Sin mas preambulos explicare la construccion de dicha clase. Creamos una clase la cual llamaremos conexion tal cual com se muestra en la imagen.
Una vez creada la clase, a continuacion mostrare la estructura de la clase singleton: En primer lugar, se debe declarar una variable estatica instanciandola a la misma clase en este caso a la clase conexion tal cual como se muestra en la imagen subrayada con la linea de color verde.

Luego crear el constructor de la clase, en este caso lo cree sin parametros. En la imagen se ve el constructor encerrado con el ovalo de color azul.

Por ultimo y lo mas importante creo una propuedad publica estatica en donde validando la instancia, en caso de que esta sea nula desde la misma clase se instancia, garantizando que siempre exista una unica instancia de esta. En la imagen encerrada con el ovalo de color rojo se observa la construccion de la propiedad.

Bin espero que les sirva este corto y sencillo ejemplo.

miércoles, 2 de mayo de 2012

Como en .Net???

Buen dia para todos.... para aquellos que tienen problemas de cambiar de lenguaje sobre una aplicacion ya construida, aqui les dejo un link en donde pueden convertir codigo construido en Visual Basic a C# y /o codigo C# a Visual Basic ...

Espero que les haya servido el aporte...

http://converter.telerik.com/

martes, 24 de abril de 2012

Crear Conexion de Base de Datos PostgreSQL con C#

Aqui les mostrare como se hace una conexion a una base de datos PostgreSQL a Visual Studio 2010 con C#. Para ello necesitamos instalar los providers de .Net para Postgres esto lo podemos hacer ejecutando el Application Stack Builder de postgres (Inicio - Todos los Programas - PostgreSQL - Application Stack Builder).  Ali nos aparecera un asistente como el de la siguiente imagen:


Seleccionamos la o las instancias que tengamos instaladas en nuestro ordenador.


Damos clic  en next y acontinuacion nos visualizara la siguiente interfaz...


Seleccionamos Npgsql, la cual es la referencia para conectar por ADO.Net nuestra base de datos a la aplicacion. Una vez instalemos el provider abrimos un nuevo proyecto de windows forms bajo lenguaje C#. Cuando creams el proyecto de aplicacion indows forms, agregamos una clase (clic derecho al proyecto creado dentro de el explorador de soluciones - agregar - clase) la cual la llamaremos conection.cs.


Una vez creada la clase agregamos de igual forma que la anterior la referencia (clic derecho sobre el proyecto dentro del explorador de soluciones- agregar referencia). y buscamos nuestra referencia que en este caso se llama npgsql.dll. Por defecto esta quedara en c: \archivos de programa o program files\ carpeta postgresql\ connector .net postgres\ v.2.0 o v.4.0 segun el framework que esten trabajando \ npgsql.dll). Para verificar que su referencia este agregada de forma correcta verifique por el explorador de soluciones desplegando el arbol de referencias... o tambiem podeos invocar la referencia por medio de un using npgsql;


Una vez agregada la referencia podeos utilizar las propiedades de coneccion de la libreria npgsql.dll
npgsqlconnection para crear la coneccion.Ahi les dejo el codigo, espero que les haya servido.