Exemplo n.º 1
0
        static void Main(string[] args)
        {
            string str = "";

            #region ClasePrueba+ClaseB

/*
 *          Fase02.ClasePrueba c = new Fase02.ClasePrueba();
 *          Generador gPrueba = new Generador(c.GetType());
 *          var serializadorPrueba = gPrueba.getSerializer();
 *          if (serializadorPrueba != null)
 *          {
 *              string codigo = serializadorPrueba.codificar(c);
 *              Console.WriteLine(codigo);
 *              Fase02.ClasePrueba aux = new Fase02.ClasePrueba();
 *              aux.var1 = 0;
 *              serializadorPrueba.decodificar(codigo, ref aux);
 *              Console.WriteLine(aux.var1 + "," + aux.var2.varB1 + "," + aux.var3);
 *          }
 *          else
 *          {
 *              Console.WriteLine("No se ha podido generar el serializador");
 *          }
 */
            #endregion

            #region Clase03Array

/*            Fase02.Clase03Array c3 = new Clase03Array();
 *          Generador g3 = new Generador(c3.GetType());
 *          dynamic serializador3 = g3.getSerializer();
 *          if (serializador3 != null)
 *          {
 *              c3.var1 = new int[3];
 *              for (int i = 0; i < 3; i++)
 *              {
 *                  c3.var1[i] = i;
 *              }
 *
 *              c3.var2 = new string[3];
 *              for (int i = 0; i < 3; i++)
 *              {
 *                  c3.var2[i] = i.ToString();
 *              }
 *
 *              c3.var4 = new int[3, 2, 2];
 *              for (int i = 0; i < 3; i++)
 *              {
 *                  for (int j = 0; j < 2; j++)
 *                  {
 *                      for (int k = 0; k < 2; k++)
 *                      {
 *                          c3.var4[i, j, k] = i * (j + 3) + (k * 3);
 *                      }
 *                  }
 *              }
 *
 *              c3.var6 = new Dictionary<string, int>();
 *              c3.var6.Add("cuatro", 4);
 *              c3.var6.Add("cinco", 5);
 *              c3.var6.Add("seis", 6);
 *
 *              string codigo = serializador3.codificar(c3);
 *              Console.WriteLine(codigo);
 *              Fase02.Clase03Array c3aux = new Clase03Array();
 *              serializador3.decodificar(codigo, ref c3aux);
 *
 *              for (int i = 0; i < 3; i++)
 *              {
 *                  Console.Write(c3aux.var1[i]);
 *              }
 *              Console.WriteLine("");
 *
 *              if(c3aux.var2 == null)
 *              {
 *                  Console.Write("¡var2 no se ha serializado!");
 *              }
 *              else
 *              {
 *                  for (int i = 0; i < 3; i++)
 *                  {
 *                      Console.Write(c3aux.var2[i]);
 *                  }
 *              }
 *              Console.WriteLine("");
 *
 *              for (int i = 0; i < 3; i++)
 *              {
 *                  for (int j = 0; j < 2; j++)
 *                  {
 *                      for (int k = 0; k < 2; k++)
 *                      {
 *                          Console.Write(c3aux.var4[i, j, k]);
 *                      }
 *                  }
 *              }
 *
 *              foreach(KeyValuePair<string, int> aux in c3aux.var6)
 *              {
 *                  Console.WriteLine(aux.Key + " = " + aux.Value);
 *              }
 */
            #endregion

/*
 *              foreach (Fase02.ClaseViti i in c3aux.var4)
 *              {
 *                  Console.WriteLine(i.v1.ToString() + "," + i.v2.ToString());
 *              }
 *
 *              foreach (KeyValuePair<int, string> i in c3aux.var5)
 *              {
 *                  Console.WriteLine(i.Key.ToString() + "," + i.Value.ToString());
 *              }
 *
 *          }
 */
            #region Clase01Basica

/*
 *                      Fase02.Clase01Basica c1 = new Clase01Basica();
 *                      c1.var1 = 2;
 *                      c1.var2 = "Hola";
 *
 *                      Generador g1 = new Generador(c1.GetType());
 *                      dynamic serializador1 = g1.getSerializer();
 *                      if (serializador1 != null)
 *                      {
 *                          Type tipo1 = serializador1.GetType();
 *                          Console.WriteLine(tipo1.FullName);
 *                          string codigo = serializador1.codificar(c1);
 *                          Console.WriteLine(codigo);
 *
 *                          c1 = new Fase02.Clase01Basica();
 *                          c1 = serializador1.decodificar(codigo, ref c1);
 *                          Console.WriteLine(c1.var1);
 *                          Console.WriteLine(c1.var2);
 *                      }
 *                      else
 *                      {
 *                          Console.WriteLine("No se ha podido generar el serializador");
 *                      }
 */
            #endregion

            Fase02.Clase03Array c3a            = new Clase03Array();
            Generador           g3a            = new Generador(c3a.GetType());
            dynamic             serializador3a = g3a.getSerializer();
            if (serializador3a != null)
            {
                #region Datos Clase03Array
                c3a.var1 = new int[3];
                for (int i = 0; i < 3; i++)
                {
                    c3a.var1[i] = i;
                }

                c3a.var2 = new string[3];
                for (int i = 0; i < 3; i++)
                {
                    c3a.var2[i] = "Número " + Convert.ToString(i);
                }

                c3a.var3 = new int[1, 2];
                int cont = 0;
                for (int i = 0; i < 1; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        c3a.var3[i, j] = cont;
                        cont++;
                    }
                }

                c3a.var4 = new int[1, 2, 3];
                cont     = 0;
                for (int i = 0; i < 1; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        for (int k = 0; k < 3; k++)
                        {
                            c3a.var4[i, j, k] = cont;
                            cont++;
                        }
                    }
                }

                c3a.var5 = new int[3][];
                cont     = 0;
                for (int i = 0; i < 3; i++)
                {
                    int[] aux = new int[4];
                    for (int j = 0; j < 4; j++)
                    {
                        aux[j] = cont;
                        cont++;
                    }
                    c3a.var5[i] = aux;
                }

                c3a.var6 = new Dictionary <string, int>();
                c3a.var6.Add("uno", 1);
                c3a.var6.Add("dos", 2);
                c3a.var6.Add("tres", 3);

                #endregion
                string codigo = serializador3a.codificar(c3a);
                Console.WriteLine(codigo);
                Clase03Array aux3a = new Clase03Array();

                Fase02.DentroDelArray auxDentro = new DentroDelArray();
                auxDentro.uno = 1;
                auxDentro.dos = "dos";
                Fase02.DentroDelArray auxDentro2 = new DentroDelArray();
                auxDentro2.uno = 3;
                auxDentro2.dos = "cuatro";

                aux3a.var7    = new DentroDelArray[2];
                aux3a.var7[0] = auxDentro;
                aux3a.var7[1] = auxDentro2;

                serializador3a.decodificar(codigo, ref aux3a);

                for (int i = 0; i < 3; i++)
                {
                    Console.Write(c3a.var1[i] + ",");
                }
                Console.WriteLine();

/*
 *                          for (int i = 0; i < 3; i++)
 *                          {
 *                              Console.Write(c3a.var2[i] + ",");
 *                          }
 *                          Console.WriteLine();
 */
                for (int i = 0; i < 1; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        Console.Write(c3a.var3[i, j] + ",");
                    }
                }
                Console.WriteLine();

                for (int i = 0; i < 1; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        for (int k = 0; k < 3; k++)
                        {
                            Console.Write(c3a.var4[i, j, k]);
                        }
                    }
                }
                Console.WriteLine();

/*
 *                          for (int i = 0; i < 3; i++)
 *                          {
 *                              int[] aux = new int[4];
 *                              for (int j = 0; j < 4; j++)
 *                              {
 *                                  Console.Write(aux[j] + ",");
 *                              }
 *                              c3a.var5[i] = aux;
 *                              Console.WriteLine();
 *                          }
 *                          Console.WriteLine();
 */
                foreach (KeyValuePair <string, int> par in c3a.var6)
                {
                    Console.WriteLine(par.Key + "=>" + par.Value);
                }
            }
            else
            {
                Console.WriteLine("No se ha podido generar el serializador");
            }

            /*
             *          Fase02.Clase07ClaseConTodo c7 = new Clase07ClaseConTodo();
             *          Generador g7 = new Generador(c7.GetType());
             *          dynamic serializador7 = g7.getSerializer();
             *          if (serializador7 != null)
             *          {
             *              Type tipo7 = serializador7.GetType();
             *              Console.WriteLine(tipo7.FullName);
             *              Console.Write(serializador7.codificar(c7));
             * //                serializador7.encode(c7, ref str);
             *          }
             *          else
             *          {
             *              Console.WriteLine("No se ha podido generar el serializador");
             *          }
             *
             */
            Console.ReadKey();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            string str = "";

            Fase02.Clase01Basica c1 = new Clase01Basica();
//            c1.var1 = 2;
//            c1.var2 = "Hola";

            Fase02.Clase03Array c3 = new Clase03Array();
            c3.var1 = new int[1];
            for (int i = 0; i < 1; i++)
            {
                c3.var1[i] = i;
            }
            c3.var2 = new string[3];
            for (int i = 0; i < 3; i++)
            {
                c3.var2[i] = "Número " + Convert.ToString(i);
            }

            /*
             * c3.var3 = new int[1,2];
             * int cont = 0;
             * for (int i = 0; i < 1; i++)
             * {
             *  for (int j = 0; j < 2; j++)
             *  {
             *      c3.var3[i, j] = cont;
             *      cont++;
             *  }
             * }
             * c3.var4 = new int[1, 2, 3];
             * cont = 0;
             * for (int i = 0; i < 1; i++)
             * {
             *  for (int j = 0; j < 2; j++)
             *  {
             *      for (int k = 0; k < 3; k++)
             *      {
             *          c3.var4[i, j, k] = cont;
             *          cont++;
             *      }
             *  }
             * }
             * c3.var5 = new int[3][];
             * cont = 0;
             * for (int i = 0; i < 3; i++)
             * {
             *  int[] aux = new int[4];
             *  for (int j = 0; j < 4; j++)
             *  {
             *      aux[j] = cont;
             *      cont++;
             *  }
             *  c3.var5[i] = aux;
             * }
             */
            Fase02.Clase04Struct c4 = new Clase04Struct();
            c4.valor3.valor1 = 1;
            c4.valor3.valor2 = "hola";

            Fase02.Clase06ClaseDerivada c6 = new Clase06ClaseDerivada();
            c6.var1 = 1;
            c6.var2 = "hola";
            c6.var3 = 2;

/*
 *          Generador g1 = new Generador(c1.GetType());
 *          dynamic serializador1 = g1.getSerializer();
 *          if (serializador1 != null)
 *          {
 *              Type tipo = serializador1.GetType();
 *              Console.WriteLine(tipo.FullName);
 *              serializador1.encode(c1, ref str);
 *              c1 = new Clase01Basica();
 *              c1 = serializador1.decode(str, c1);
 *              Console.WriteLine("Variables normales:");
 *              Console.WriteLine(c1.var1);
 *              Console.WriteLine(c1.var2);
 *          }
 *          else
 *          {
 *              Console.WriteLine("No se ha podido generar el serializador");
 *          }
 *
 *          Generador g6 = new Generador(c6.GetType());
 *          dynamic serializador6 = g6.getSerializer();
 *          if (serializador6 != null)
 *          {
 *              Type tipo6 = serializador6.GetType();
 *              Console.WriteLine(tipo6.FullName);
 *              serializador6.encode(c6, ref str);
 *              c6 = new Clase06ClaseDerivada();
 *              c6 = serializador6.decode(str, c6);
 *              Console.WriteLine("Variables heredadas:");
 *              Console.WriteLine(c6.var1);
 *              Console.WriteLine(c6.var2);
 *              Console.WriteLine(c6.var3);
 *          }
 *          else
 *          {
 *              Console.WriteLine("No se ha podido generar el serializador");
 *          }
 *
 *          Generador g3 = new Generador(c3.GetType());
 *          dynamic serializador3 = g3.getSerializer();
 *          if (serializador3 != null)
 *          {
 *              Type tipo3 = serializador3.GetType();
 *              Console.WriteLine(tipo3.FullName);
 *              serializador3.encode(c3, ref str);
 *              c3 = new Clase03Array();
 *              c3 = serializador3.decode(str, c3);
 *              Console.WriteLine("Array var1:");
 *              for (int i = 0; i < c3.var1.Length; i++)
 *              {
 *                  Console.WriteLine(c3.var1[i]);
 *              }
 *              Console.WriteLine("Array var2:");
 *              for (int i = 0; i < c3.var2.Length; i++)
 *              {
 *                  Console.WriteLine(c3.var2[i]);
 *              }
 *              Console.WriteLine("Array var3:");
 *              for (int i = 0; i < 1; i++)
 *              {
 *                  for(int j = 0; j < 2; j++)
 *                  {
 *                      Console.Write(c3.var3[i, j]);
 *                  }
 *                  Console.WriteLine();
 *              }
 *              Console.WriteLine("Array var4:");
 *              for (int i = 0; i < 1; i++)
 *              {
 *                  for (int j = 0; j < 2; j++)
 *                  {
 *                      for (int k = 0; k < 3; k++)
 *                      {
 *                          Console.WriteLine(c3.var4[i,j,k]);
 *                      }
 *                      Console.WriteLine();
 *                  }
 *                  Console.WriteLine();
 *              }
 *              Console.WriteLine("Array var5:");
 *              for (int i = 0; i < 3; i++)
 *              {
 *                  Console.WriteLine("Array del elemento " + i);
 *                  for (int j = 0; j < 4; j++ )
 *                  {
 *                      Console.WriteLine(c3.var5[i][j]);
 *                  }
 *                  Console.WriteLine();
 *              }
 *          }
 *          else
 *          {
 *              Console.WriteLine("No se ha podido generar el serializador");
 *          }
 */
            Generador g4            = new Generador(c4.GetType());
            dynamic   serializador4 = g4.getSerializer();

            if (serializador4 != null)
            {
                Type tipo4 = serializador4.GetType();
                Console.WriteLine(tipo4.FullName);
                serializador4.encode(c4, ref str);
                c4 = new Clase04Struct();
                c4 = serializador4.decode(str, c4);
                Console.WriteLine("Clase con estructura+:");
                Console.WriteLine(c4.valor3.valor1);
                Console.WriteLine(c4.valor3.valor2);
            }
            else
            {
                Console.WriteLine("No se ha podido generar el serializador");
            }

            Console.ReadKey();
        }