• [FB] January 08, 2013 at 10:12AM

    Publicado en Facebook el January 08, 2013 at 10:12AM:

    hacía tiempo que no me daba el sol en la cara por la mañana… ah, no… que el sábado estuve por la mañana en el pinarillo… 😉
     
    Nos vemos.
    Guillermo
    …
    #delfeis #ifttt #elguilleinfo

  • Build Action de ficheros Xaml en aplicaciones de Windows Store

     

    Pues eso… que me voy a apuntar por aquí algunos de los valores que deben tener en la propiedad Build Action  "ciertos" ficheros de nuestros proyectos de Windows Store. Por ejemplo, el fichero App.xaml debe tener el valor ApplicationDefinition y el resto de los .xaml deben ser Page.
    Los ficheros de código deben tener Compile.

    Es que hoy me he vuelto a "enfangar" con estas cosas… no se si soy yo el que trastea o se trastean solo, pero el fichero MainPage (el que se carga desde App) tenía el valor CodeAnalysisDictionary y me daba error de que no encontraba el InitialiceComponent y por tanto, ninguno de los controles definidos en esa página.

     

    Build Action 01 - App.xaml ApplicationDefinition

     

    Después me fallaba la página de estilos (StandardStyles.xaml) con el dichoso error ese que cuando se para uno no sabe ni de qué va… aunque como ya te lo he comentado en un par de ocasiones se trata de que hay algo mal en el código XAML.
    La cuestión es que (aunque no lo decía) es que no podía cargar el famoso fichero de estilos, y es que resulta que tenía un valor diferente al que debía tener (ya no recuerdo cuál era, porque con el mosqueo que tenía ya, pues… en fin) pero el que debe tener es Page, como el resto.

     

    Build Action 02 - StandardStyles.xaml Page

     

    Y ya está. Te dejo, que sigo con lo que estaba haciendo.

     

    Nos vemos.
    Guillermo

    elGuille_luna300x200

    …

  • Si utilizas dynamic en C# acuérdate de agregar una referencia a Microsoft.CSharp

     

    Pues eso… que estaba haciendo la prueba de usar Activator sin indicar el tipo al que quiero convertir una cadena y me daba error indicando que: "one or more types required to compile a dynamic expression cannot be found" y claro, ni idea… ya que suponía que eso de usar dynamic en C# era así, simplemente indicando que el tipo es dynamic y ya está. Pero no, debes tener una referencia a Microsoft.CSharp:

    dynamic necesita una referencia a Microsoft.CSharp

     

    De paso, te pongo el ejemplo de cómo instanciar una clase desde el contenido de una cadena, pero sin tener que hacer la conversión (o cast) a un tipo concreto.

    Este ejemplo es una especie de ampliación de Crear un objeto a partir de una cadena con Activator.CreateInstance

     

    private static void crearClase(string laClase)
    {
        var todoBien = true;
        dynamic obj = null;
    
        Type elTipo = Type.GetType(laClase);
        try
        {
            obj = Activator.CreateInstance(elTipo);
    
            if (obj != null)
            {
                obj.Nombre = "Pepe";
                obj.Email = "pepe@outlook.com";
    
                Console.WriteLine("Objeto creado correctamente: {0}{1}{2}, {3}",
                                  obj.GetType().Name, "\r\n",
                                  obj.Nombre, obj.Email);
            }
    
        }
        catch (Exception ex)
        {
            Console.WriteLine("ERROR: " + ex.Message);
            todoBien = false;
        }
    
        if (!todoBien)
        {
            Console.WriteLine("Parece que el tipo: {0} no es del tipo adecuado.",
                              laClase);
        }
    
        Console.WriteLine();
    }
    
    

     

     

    Espero que te sea de utilidad.

    Nos vemos.

    Guillermo

    …