Ejemplo de uso de DynamicProxy

¡Hola!
Hace unos días vimos un par de entradas (ésta y ésta) sobre las características y usos básicos de los proxys a través de la libería DynamicProxy. Hoy vamos a ver un pequeño proyecto en el que utilizaremos esta libería para medir tiempos. Continúa leyendo Ejemplo de uso de DynamicProxy

WeakReference en C#

¡Hola!
Hoy vamos a ver cómo podemos utilizar la clase WeakReference para obtener referencias débiles de nuestros objetos. Vamos a ver qué son las referencias fuertes y débiles, algunas cosas sobre el recolector de basura y cómo afecta a nuestras referencias. Antes que nada quiero avisar que es posible que algún concepto no sea correcto del todo pero en conjunto creo que es una visión más o menos válida. Sin más preámbulos, ¡vamos allá! Continúa leyendo WeakReference en C#

Hook, Selector, Mixin y más con DynamicProxy

¡Hola!
Después de ver qué son y cómo podemos crear proxys con DynamicProxy, hoy vamos a ver algunas características que nos ofrece para poder mejorar estos proxys, separar ciertas responsabilidades y alguna cosa que se quedó pendiente en el anterior post. Vamos a ello.
Continúa leyendo Hook, Selector, Mixin y más con DynamicProxy

Creando proxys con Castle DynamicProxy

¡Hola!
En esta entrada vamos a ver algunas cosas básicas sobre proxys y cómo crearlos utilizando un estupenda librería llamada DynamicProxy. Esta librería forma parte del proyecto Castle que incluye, además de DynamicProxy, otras potentes librerías como el contenedor de IoC Windsor. Volviendo a DynamicProxy, seguro que consciente o inconscientemente la has utilizado muchas veces en alguna librería o framework que hayas incluido en algunos de tus proyectos.. en este post lo veremos. Continúa leyendo Creando proxys con Castle DynamicProxy

Decompilando async/await

¡Hola!
Como bien dice el título de la entrada, vamos a echar un vistazo al código que se genera cuando utilizamos async/await. Siempre hemos escuchado que async/await es azúcar sintáctico y que genera un montón de código; pues voy a intentar explicar aprender qué es lo que hace el código que se genera cuando utilizamos async/await, a ver si me sale.
Continúa leyendo Decompilando async/await

IEnumerator, IEnumerable y otras hierbas

¡Hola!
El otro día en el trabajo salió el tema de cuál es la diferencia entre IEnumerable e IList (entre otros) y, creyendo que tenía clara la respuesta, me di cuenta de que no tanto. Sí sabía que, por ejemplo, IList implementa IEnumerable, y que en un IEnumerable no se puede acceder por índice a un elemento, sino que debemos recorrerlo. Es un momento perfecto para escribir un post y aclarar mis ideas. En concreto vamos a ver las interfaces IEnumerator, IEnumerable, ICollection e IList, empecemos (espero no extenderme demasiado). Continúa leyendo IEnumerator, IEnumerable y otras hierbas

Deserializar propiedades JSON dentro de un JSON

¡Hola!
El otro día se dio el caso de que tuve que deserializar un JSON dentro de un JSON, es decir, dado un JSON, una de las propiedades es un string que contiene otro JSON. No tiene pinta de que sea una gran forma de crear JSON, pero cuando se da el caso hay que deserializarlos 🙂
Continúa leyendo Deserializar propiedades JSON dentro de un JSON

Ninject. Crear factorías III

¡Hola!
Después de dar un repaso general a las diferentes características de las factorías de Ninject (aquí y aquí), vamos a ver un caso que se acerca más al mundo real. Vamos a ver cómo crear una factoría para generar comandos basado en el nombre del tipo del comando concreto. ¿Suena un poco lioso? Es muy sencillo, lo vemos a continuación.
Continúa leyendo Ninject. Crear factorías III