jueves, 23 de enero de 2014

Delegados - Delegates - parte 2



Continuamos con la segunda parte de nuestros queridos delegados, esa clase tan útil, y utilizada por el framwork y tantas veces se nos hace tan complicada de entender.

En esta segunda parte nos centraremos principalmente en estudiar la clase base y los métodos y propiedades más importantes de ésta, que hacen que el delegado realice una series de funciones muy marcadas y en ocasiones totalmente transparentes para nuestro trabajo diario con ellos, ya que están ocultas dentro de la redefinición de operadores.


La segunda parte del post irá dirigida al uso de Generics con delegados. En ella profundizaremos en la importancia y la potencia que tienen para la ejecución de referencias a funciones y a métodos genéricos. También daremos un repaso a los delegados genéricos más importantes del Framework y de LinQ en general que no son otros que Func<T> y Action<T>.


sábado, 16 de noviembre de 2013

Delegados - Delegates - parte 1



Los siguientes posts sobre Delegados que arrancamos con esta primera parte, pretenden ser algo más que una simple pasada sobre lo que nos ofrece esta clase del CLR y su uso en LinQ. Estos posts intentan profundizar dentro de su usabilidad en el Framework ya que considero que es una de las partes más difícil de comprender y de dominar, y su comprensión total, nos hace no tener ningún tipo de barrera en LinQ dentro de su parte más avanzada.


La definición más lógica que suele realizarse cuando hablamos de un delegado, es que es lo más parecido a un puntero a una función en C++. Esto no es del todo cierto, ya que un delegado es una clase y no un tipo




martes, 12 de noviembre de 2013

Propiedades Automáticas e Inicializadores de Objetos



Este post que cubre las propiedades automáticas y los inicializadores de objetos, es un post completamente de transición, en el que nos viene a mostrar una forma de realizar acciones que cotidianas, que a partir de la versión 3.0 del Framework, como casi todo lo que se añadió para LinQ, se pueden realizar de una forma más sencilla y escribiendo mucho menos código.


Son ampliamente conocidas, pero me ha parecido interesante dedicarle en post dentro del mundo LinQ, por si había por ahí algún despistadillo que no las conocía.



domingo, 10 de noviembre de 2013

Tipos Anónimos



Los tipos anónimos son una característica introducida dentro del Framework 3.0.

Los tipos anónimos nos ofrecen la posibilidad de crear objetos al vuelo con propiedades de solo lectura, evitando tener que definir de manera explícita una clase para almacenar este tipo de datos equivalentes

Esta característica daba unas posibilidades de dinamismo a los desarrolladores de .Net solo reservada a lenguajes como JavaScript, Python, etc.

miércoles, 6 de noviembre de 2013

Asignación implícita de tipos, var



La palabra reservada var, viene a significar una asignación implícita de tipos. Esto se traduce en que el compilador será el que averigüe cual es el tipo que hay que asignar a esa variable, ósea utilizará la Inferencia de Tipos.

Cuando salieron las primeras noticas sobre esta mejora, trajo mucha controversia, al igual que los métodos extensores, dentro de la comunidad ya que muchos pensaban que esto rompía las buenas prácticas de programación y la fortaleza de tipos, cosa que no era cierta como veremos más adelante.


Es fácil confundir este tipo de variable con antiguo y costoso Variant de Visual Basic 6.0, o llegar a pensar que simplemente es un objeto de tipo object camuflado, pero nada de eso, es mucho más.