Posted by Emilio Torrens dic - 23 - 2011 0 Comment
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 ...
Posted by Emilio Torrens dic - 20 - 2011 0 Comment
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 ...
Posted by Emilio Torrens nov - 15 - 2011 0 Comment
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 ...
Posted by Emilio Torrens nov - 10 - 2011 0 Comment
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 ...
Posted by Mario Andujar nov - 8 - 2011 0 Comment
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 ...
Posted by Emilio Torrens oct - 5 - 2011 0 Comment
Aquí dejo una clase para hacer las serializaciones, la única dependencia es la librería Json.NET public class Serializer { public enum Format { json,xml } public static string Serialize(object data, Format format) { if (format == Format.json) return JsonConvert.SerializeObject(data); else { using (StringWriter sw = new StringWriter()) { XmlSerializer ser Read More ...
Posted by Emilio Torrens ago - 17 - 2011 0 Comment
Si has intentado correr en Mono algún proyecto que utilice estas librerías de Microsoft, seguramente has recibido el habitual “Object not set …” con la mínima información. Este problema estuvo a punto de tirarnos para atrás cuando estábamos intentando correr unos servicios web asp.net sobre Ubuntu, pero, como siempre pasa, Read More ...
Posted by Mario Andujar jul - 28 - 2011 0 Comment
Hay veces que MongoDB por algún motivo no arranca con el arranque de la maquina y es por un archivo que se genera donde se encuentran las bases de datos llamado mongo.lock (normalmente la ruta de las bases de datos, a no ser que se cambie, es /var/lib/mongo) Para solucionarlo Read More ...
Posted by Emilio Torrens may - 10 - 2011 0 Comment
La posibilidad de renombrar la base de datos en Mongo no existe, pero es relativamente sencillo ejecutando estos 3 comandos en la consola: db.copyDatabase(‘oldName’,'newName’) use ‘oldName’ db.dropDatabase() Lo acabo de probar
Posted by Emilio Torrens ene - 18 - 2011 0 Comment
Estoy trabajando en una librería para trabajar mas rápido con MongoDB y .NET, me he inspirado en el mongo_mapper para Ruby que he estado usando en el BOT de Twitter. Utiliza el driver de CSharp para MongoDB y la idea es que la clase de trabajo herede de la de Read More ...