Browse by Tags

Como guardar archivos .GIF desde MS Outlook

Por alguna razon MS Outlook no tiene una opcion forma facil para guardar archibos GIF directamente desde un mensaje; la unica opcion es que te permite guardarlos como BMP, pero eso haria que perdieras la animacion en si, de hecho tampoco te deja guardar archivos .JPG, .PNG etc, el unico formato que te da como opcion es BMP, pero hay muchas ocasiones en las que queremos guardar el archivo original, de vez en cuando yo mismo necesito esto y se me olvida como es que lo he hecho antes, asi que decidi utilizar mi blog una vez mas para poder recurrir a el en un futuro que lo necesite de nuevo, esto de escribir algo en tu blog para recordarlo luego funciona muy bien, se los recomiendo. Pues bien, aqui esta la solucion.

Les menti en el titulo, si hay forma de guardar archivos .GIF desde MS Outlook, pero por los pasos requeridos mejor no me meto ahi, pero les dire que hay una forma mucho mas facil de hacerlo, solo tienes que enviarte el mensaje a una cuenta de web email, como GMail, Yahoo o Hotmail (que conste que no he probado en Yahoo ni Hotmail, pero creo que funciona ahi tambien)

Una vez que lo abras en tu correo web lo podras guardar normalmente como uno esperaria que se puede hacer, dando click derecho en la imagen, guardar como... y ya esta
Los miembros de una interface SI pueden ser privados
Este dato sorprende a la mayoria, cualquiera que ha aprendido a usar interfaces sabe que la primera regla es que todos los miembros son publicos y por ende su implementacion tambien lo es, siempre, no es opcional. Al menos hasta que llegaste a este articulo a desaprender que eso no es totalmente cierto. Veamos un pequeño ejemplo, con el puro proposito de demostrarlo.

public interface ITest {

void Test();

}

public class Test : ITest {

void ITest.Test() { //<

Console.WriteLine("test");

}

public void Test2() {

Console.WriteLine("test2");

}

}

class Program {

static void Main(string[] args) {

ITest t = new Test();

t.Test();

Test t2 = new Test();

//t2.Test(); //<<=== no compila


Si no lo crees puedes intentarlo tu mismo.

Pero de que me sirve o para que puedo usar esto?

La tecnica te permite asegurarte que el metodo solo es visible a aquellos que usen una variable del tipo de la interface (ITest en este caso). Lo unico que hace es forzar a que el uso de ese metodo sea a travez de una instancia de la interface, osea que, para este ejemplo, si quieres acceder al metodo .Test, solo lo puedes hacer a travez de una variable del tipo ITest.

El unico "truco" para lograr esto es que en la declaracion tienes que agregar el tipo de la interface, antes del miembro:

void ITest.Test();

Seguramente no es el truco mas util, pero es algo para tenerlo guardado ahi en el cofre de los trucos y que en algun momento te sera de utilidad, o talvez algo que te pueda hacer ganar una apuesta ;)