Exemple #1
0
        internal static int x(HeaderQueryParser parser, ref valueType value, byte *names)
        {
            int index = 0;

            while ((names = parser.IsName(names, ref index)) != null)
            {
                if (index == -1)
                {
                    return(-1);
                }
                memberParsers[index](parser, ref value);
                ++index;
            }
            return(index);
        }
Exemple #2
0
        /// <summary>
        /// 对象解析
        /// </summary>
        /// <param name="parser">查询解析器</param>
        /// <param name="value">目标数据</param>
        internal static void Parse(HeaderQueryParser parser, ref valueType value)
        {
            byte *names = memberNames.Byte;
            int   index = 0;

            while ((names = parser.IsName(names, ref index)) != null)
            {
                if (index == -1)
                {
                    return;
                }
                memberParsers[index](parser, ref value);
                ++index;
            }
            do
            {
                if ((index = memberSearcher.SearchName(parser)) != -1)
                {
                    memberParsers[index](parser, ref value);
                }
            }while (parser.IsQuery());
        }