Ejemplo n.º 1
0
        /// <summary>
        /// 从值读取器中读取一个列表。
        /// </summary>
        /// <typeparam name="TValue">值的类型</typeparam>
        /// <param name="valueReader">值读取器</param>
        /// <returns>返回一个列表</returns>
        public static List <TValue> ReadList <TValue>(this IValueReader valueReader)
        {
            var rw = new ListRW <List <TValue>, TValue>();

            valueReader.ReadArray(rw);

            return(rw.content);
        }
Ejemplo n.º 2
0
        public T ReadValue(IValueReader valueReader)
        {
            var listRW = new ListRW <T, TValue>();

            valueReader.ReadArray(listRW);

            return(listRW.Content);
        }
Ejemplo n.º 3
0
        public T ReadValue(IValueReader valueReader)
        {
            if (valueReader is IValueReader <T> reader)
            {
                return(reader.ReadValue());
            }

            var listRW = new ListRW <T>();

            valueReader.ReadArray(listRW);

            return(listRW.content);
        }
Ejemplo n.º 4
0
        public void WriteValue(IValueWriter valueWriter, T value)
        {
            if (value == null)
            {
                valueWriter.DirectWrite(null);

                return;
            }

            var listRW = new ListRW <T, TValue>();

            listRW.Initialize(value);

            valueWriter.WriteArray(listRW);
        }