Acabo de subir una nueva versión del MongoMapper para .NET, no lleva muchos cambios pero los que lleva son interesantes. Ahora hay disponibles “Extension Methods” en las las listas de Objetos y en los Objetos que heredan de MongoMapper y se pueden cargar los objetos tipo MyClass.FindByKey(…) o MyClassList.MongoFind(…). He Read More ...
La mejor forma de medir tiempo de proceso en nuestro código es usando StopWatch. Esta clase es la que nos dará toda la información que necesitamos, la encontraremos en el espacio de nombres System.Diagnostics. Aquí dejo un ejemplo de uso: var timer = System.Diagnostics.Stopwatch.StartNew(); for (int i = 0; i Read More ...
Creo que la versión ya esta mas o menos para probar así que toca escribir el changelog de las ultimas modificaciones, las hechas desde que lo movimos de codeplex a github. Casi todas las modificaciones vienen de refactoring o de necesidades que me he ido encontrando al hacer pruebas con Read More ...
Los ExtensionMethods nos permiten crear metodos que estén disponibles en todos los tipos de objetos que les definamos. Por ejemplo podemos definir que todas nuestras clases tipo A tengan un método ToJson que devuelva una String con el Json creando el siguiente método: public static string ToJson(this A o) {return Read More ...
Aquí dejo un ejemplo de como personalizar el cast de nuestras clases a otras con implicit/explicit operator, por si nos interesa controlar la conversión. Las clases: public class ClassString { public string value1 { get; set; } public string value2 { get; set; } public static implicit operator ClassInt(ClassString Read More ...
AOP o POA en Español quiere decir Programación Orientada a Aspectos, este paradigma, que es relativamente moderno, no substituye a OOP en realidad la que hace es extenderlo. Esta es la definición “formal” de AOP: “El principal objetivo de la POA es la separación de las funcionalidades dentro del sistema: Read More ...
Hemos estado un tiempo con el proyecto parado, no le hemos podido dedicar horas por falta de tiempo libre en casa y porque no nos quedaban muchas horas libres para “inventar” en el trabajo, pero eso ya paso, así que retomamos el tema. Hemos movido el proyecto desde codeplex a Read More ...
Aquí dejo un ejemplo de código que muestra como cambiar el valor del atributo [XmlIgnore] en tiempo de ejecución para evitar que se serialicen campos a nuestra conveniencia. public class Person { [XmlIgnore] public string Name { get; set; } [XmlIgnore] public int Age { get; set; } } class Read More ...
Los servicios web de ASP.NET tienen eso, que cuando quieres devolver tu objeto Person te lo renombran al nombre del método + result y te lo meten dentro de un método + response, así este código: public class Person { public string Name { get; set; } } [WebService(Namespace Read More ...
Aquí dejo un código de ejemplo para ignorar campos en tiempo de ejecución. La clave es crear un método llamado ShouldSerialized mas el nombre del campo. public class ClassWithNullableElements { private Nullable<System.DateTime> endField; private Nullable<System.DateTime> startField; [System.Xml.Serialization.XmlAttributeAttribute(DataType = "date", AttributeName = "End")] public DateTime EndSerialized { get Read More ...


