Ejemplo n.º 1
0
        public object ParseObject(string str)
        {
            var parser = ParserRegistry.GetParser(ParsedType.GetElementType());

            str = str.Trim(' ', '[', ']');
            List <object> objs = new List <object>();

            foreach (var s in str.Split(','))
            {
                objs.Add(parser.ParseObject(s.Trim()));
            }


            Array array = Array.CreateInstance(ParsedType.GetElementType(), objs.Count);

            for (int i = 0; i < objs.Count; i++)
            {
                array.SetValue(objs[i], i);
            }
            return(array);
        }
Ejemplo n.º 2
0
        public string EncodeObject(object obj)
        {
            Array array = (Array)obj;

            if (array == null)
            {
                array = Array.CreateInstance(ParsedType.GetElementType(), 0);
            }
            IStringParser parser = ParserRegistry.GetParser(ParsedType.GetElementType());
            string        str    = "[";

            for (int i = 0; i < array.Length; i++)
            {
                str += parser.EncodeObject(array.GetValue(i));
                if (i != array.Length - 1)
                {
                    str += ", ";
                }
            }
            str += ']';
            return(str);
        }