예제 #1
0
        public string ToString2()
        {
            string cad;

            if (Tipo.IsMap())
            {
                cad = "<";

                foreach (CollectionValue value in Valores)
                {
                    cad += "\"" + value.Clave.ToString() + "\"= ";

                    if (value.Valor is Objeto obj2)
                    {
                        cad += obj2.ToString2();
                    }
                    else if (value.Valor is Collection coll)
                    {
                        cad += coll.ToString2();
                    }
                    else if (value.Valor is Cadena cade)
                    {
                        cad += cade.ToString2();
                    }
                    else if (value.Valor is Date dat)
                    {
                        cad += dat.ToString2();
                    }
                    else if (value.Valor is Time tim)
                    {
                        cad += tim.ToString2();
                    }
                    else
                    {
                        cad += value.Valor.ToString();
                    }

                    if (!Valores.Last.Value.Equals(value))
                    {
                        cad += ", ";
                    }
                }

                cad += ">";
            }
            else
            {
                //if (Tipo.IsList())
                cad = "[";
                //else
                //cad = "{";

                foreach (CollectionValue value in Valores)
                {
                    if (value.Valor is Objeto obj2)
                    {
                        cad += obj2.ToString2();
                    }
                    else if (value.Valor is Collection coll)
                    {
                        cad += coll.ToString2();
                    }
                    else if (value.Valor is Cadena cade)
                    {
                        cad += cade.ToString2();
                    }
                    else if (value.Valor is Date dat)
                    {
                        cad += dat.ToString2();
                    }
                    else if (value.Valor is Time tim)
                    {
                        cad += tim.ToString2();
                    }
                    else
                    {
                        cad += value.Valor.ToString();
                    }

                    if (!Valores.Last.Value.Equals(value))
                    {
                        cad += ", ";
                    }
                }
                //if (Tipo.IsList())
                cad += "]";
                //else
                //cad += "}";
            }

            return(cad);
        }
예제 #2
0
 public Tipo(Type type, Tipo valor)
 {
     Type  = type;
     Clave = new Tipo(Type.INT);
     Valor = valor;
 }
예제 #3
0
 public Collection(Tipo tipo)
 {
     Tipo     = tipo;
     Valores  = new LinkedList <CollectionValue>();
     Posicion = 0;
 }
예제 #4
0
 public Tipo(Tipo clave, Tipo valor)
 {
     Type  = Type.MAP;
     Clave = clave;
     Valor = valor;
 }