Hasta ahora, en la construcción de nuestros Generics, hemos dejado plena
libertad para el consumidor, tanto si somos nosotros mismos, o si es algún
usuario de alguna de nuestras librerías, de poder asignar el tipo que mejor le
viniera dentro de nuestros parámetros de tipo. Esto en ocasiones, puede ser
contraproducente para su uso, y lo que es peor puede limitarnos en demasía a la
hora de realizar un desarrollo. Las restricciones dentro de Generics nos pueden ayudar a solventar
todos estos problemas.
miércoles, 30 de octubre de 2013
martes, 29 de octubre de 2013
Problemas de uso de colecciones no genéricas
En las versiones anteriores a framework 2.0, era
absolutamente normal trabajar con colecciones de tipo object como base, entre ellas ejemplos como ArrayList, Queue, List,
etc., Esto traía dos problemas principales a los desarrolladores:
- Problemas de Conversion de Tipos.
- Problemas de rendimiento.
Vamos a ver de manera un poco más amplia cada uno de ellos.
lunes, 28 de octubre de 2013
Generics (introducción)
Generics, es una de las mejoras más importantes introducidas
en la versión 2.0 del .NET Framework y en Visual Studio 2005.
Los tipos genéricos agregan un concepto nuevo de parámetro,
el parámetro de tipo,
si indicado en C# mediante los símbolos de ‘<>’
y en la mayoría de los casos nombrados con la letra ‘T’, aunque esto no es relevante y podría nombrase con
cualquier definición, de hecho para Entity Framework
se suelen nombrar como ‘TEntity’,
para claves primarias como ‘TKey’ y
otros casos como ‘TValue’
Decir que dentro del CLR, la
característica de genérico no solo está reservada para los métodos, ya que
también pueden existir clases, estructuras,
delegados,
etc.
viernes, 25 de octubre de 2013
Introducción a LinQ
Language Integrated
Query (Consultas integradas en el lenguaje) es un set de
librerías de Microsoft .Net
Framework para trabajar con data sources. LinQ proporciona una
capa de abstracción entre los lenguajes de .NET y cada vez más fuentes de datos
subyacentes.
LinQ proporciona a los desarrolladores una forma de
consultar datos con un lenguaje muy similar al utilizado en sus desarrollos,
principalmente C# o VB.NET.
LINQ
Aquí inicio una serie de posts, que me llevarán a realizar un camino lo más profundo y lo más extenso posible sobre esta tecnología que tantos y tantos elogios se ha llevado por toda la comunidad y por todo el mundo del desarrollo en general.
En todo este recorrido, intentaré dar un repaso profundo a toda su estructura y características, empezando por la bases que sostienen sus pilares principales y continuando con una enumeración detallada de todas sus expresiones de consultas, operadores y partes más principales y significativas de sus librerías.
lunes, 21 de octubre de 2013
Validaciones con DataAnnotations
El espacio de nombres System.ComponentModel.DataAnnotations,
nos proporciona una serie de clases, atributos y métodos para realizar
validación dentro de nuestros programas en .NET.
En ocasiones, debido a que tecnologías como WPF, Silverlight, ASP MVC, Entity Framework, etc., realizan comprobaciones de validación automáticas con clases marcadas con estos atributos, pensamos que es exclusivo de éstas, pero no tiene nada que ver, está al alcance de cualquier clase del Framework como veremos más adelante.
En ocasiones, debido a que tecnologías como WPF, Silverlight, ASP MVC, Entity Framework, etc., realizan comprobaciones de validación automáticas con clases marcadas con estos atributos, pensamos que es exclusivo de éstas, pero no tiene nada que ver, está al alcance de cualquier clase del Framework como veremos más adelante.