Etiqueta: c#

  • Acompáñame en el café virtual con Marcelo este miércoles 7 de abril

    Pues eso… Marcelo de SevillaDotNet me ha invitado a un café virtual el próximo miércoles día 7 de abril a las 18:30 hora de la España peninsular (una hora menos en Canarias), así que… si nos quieres acompañar regístrate y asiste siguiendo este enlace: Café Virtual con Guillermo Som.

    Nota del martes 6 de abril
    Si quieres, también puedes verlo en directo por YouTube o bien usar este mismo enlace para después de mañana 7 de abril de 2021:

    SevillaDotNet: Café Virtual con ‘ElGuille’

     

     

    Si quieres ver qué hora es ahora en España (Madrid) sigue el enlace y así sabrás qué hora será en tu país 😉
    Me comentan que al pulsar el enlace te muestra la hora en tu ciudad.

    Este es el resumen de la charla cafetera 🙂

    En este café virtual vamos a charlar con Guillermo Som. Tras tantos años participando y ayudándonos a todos con su sitio elguille.info, probablemente te haya ayudado en algún momento.
    Vamos a charlar sobre sus inicios en la informática, sobre el camino que él ha tenido cómo programador, de .NET y su evolución y mucho más.

    ¿Te unes a nosotros?

    ¡Te espero!

    Nos vemos.
    Guillermo

  • Mejorar el rendimiento al usar GetExecutingAssembly

    Pues eso… ya te lo comenté hace unos meses, aunque estaba escondido en las novedades de gsNotasNET.Android v2.0.0.33, y era porque me daba error (sin avisar, para más señas) a la hora de usar la forma recomendada de usar Assembly.GetExecutingAssembly.

    En esa ocasión me daba error la aplicación de Xamarin.Forms y sin saber porqué… Pero la he vuelto a probar y por ahora, al menos en el IDE de Visual Studio 2019 va bien.
    De todas formas, ya sabes si usas lo que te voy a explicar aquí, y ves que la aplicación casca, ya sabes porqué es.

    La documentación (en inglés) dice esto:

    For performance reasons, you should call this method only when you do not know at design time what assembly is currently executing. The recommended way to retrieve an Assembly object that represents the current assembly is to use the Type.Assembly property of a type found in the assembly.

    Que en el idioma actualizado de Cervantes viene a decir esto (según Google Translator):

    Por motivos de rendimiento, debe llamar a este método solo cuando no sepa en tiempo de diseño qué ensamblado se está ejecutando actualmente. La forma recomendada de recuperar un objeto Ensamblado que representa el ensamblado actual es usar la propiedad Type.Assembly de un tipo que se encuentra en el ensamblado.

    Aquí te voy a poner el código (tanto de Visual Basic como de C#) para usar esta forma recomendada de asignar un ensamblado (de la clase System.Reflection.Assembly).

    Este código está en bibliotecas (proyectos del tipo Class Library) para usar con .NET Standard 2.0 (de esta forma los ensamblados se podrán usar tanto en .NET Core como en .NET Framework).

    Ejemplo para C#

    public static string VersionDLL()
    {
        var ensamblado = typeof(AboutViewModel).Assembly;
        var fvi = FileVersionInfo.GetVersionInfo(ensamblado.Location);
        // FileDescription en realidad muestra (o eso parece) lo mismo de ProductName
        var s = $"{fvi.ProductName} v{fvi.ProductVersion} ({fvi.FileVersion})" + 
            $"\r\n{fvi.Comments}";
    
        return s;
    }
    

    Ejemplo para Visual Basic

    Public Function VersionDLL() As String
        Dim ensamblado = GetType(DatosMostrar).Assembly
        Dim fvi = FileVersionInfo.GetVersionInfo(ensamblado.Location)
        ' FileDescription en realidad muestra (o eso parece) lo mismo de ProductName
        Dim s = $"{fvi.ProductName} v{fvi.ProductVersion} ({fvi.FileVersion})" &
            $"{vbCrLf}{fvi.Comments}"
    
        Return s
    End Function
    

    Ese código mostrará la versión del ensamblado, la versión del fichero y la descripción, aunque en realidad a la propiedad a la que tienes que acceder es a Comments, ya que FileDesciption muestra lo mismo que ProductName.

    Y aquí tienes una captura para la aplicación de Android con los comentarios de las 3 bibliotecas que estoy usando, 2 de ellas escritas con Visual Basic y la tercera (la que le da funcionalidad visual a la aplicación está escrita en C#).

    Figura 1. Captura en el emulador de Android.
    Figura 1. Captura en el emulador de Android.

    Y esta otra captura es de la aplicación en el emulador (local) de UWP (Universal Windows Platform) pero con la aplicación real. Aunque en modo depuración.

    Figura 2. Captura en el (emulador) de UWP.
    Figura 2. Captura en el (emulador) de UWP.

    Espero que te sea de utilidad… Esa es siempre la idea…

    Nos vemos.
    Guillermo

    P.S.
    El puñetero Jetpack agrega código (de más) a las imágenes y cuando estas se muestran desde www.elguille.info, simplemente no se ven… pero… puedes pulsar en el sitio (en blanco) en el que está la imagen y te la mostrará…
    Lo mismo quito el Jetpack, que, aparte del «bloque» Markdown y el poder publicar en twitter y mi sitio de facebook, no me sirve de mucho…

  • Respuesta de Microsoft a la petición de seguir añadiendo características a Visual Basic

    Esto es solo para que aparezca en las entradas recientes.

    El comentario de hoy 8 de marzo de 2021 está en este enlace.

    Por cierto, la petición ya no se puede votar, porque la han cerrado, pero se pueden añadir comentarios… 😉

    #evolveVB #evolucionarVB

    Nos vemos.
    Guillermo