public IList readList <T>(T l, int tag, bool isRequire)
        {
            // 生成代码时已经往List里面添加了一个元素,纯粹用来作为类型识别,否则java无法识别到List里面放的是什么类型的数据
            if (l == null)
            {
                return(null);
            }

            IList list = BasicClassTypeUtil.CreateObject(l.GetType()) as IList;

            if (list == null)
            {
                return(null);
            }

            object objItem = BasicClassTypeUtil.CreateListItem(list.GetType());

            Array array = readArrayImpl(objItem, tag, isRequire);

            if (array != null)
            {
                list.Clear();
                foreach (object obj in array)
                {
                    list.Add(obj);
                }

                return(list);
            }

            return(null);
        }
        public IList ReadList <T>(T list, int tag, bool isRequire)
        {
            // When the code is generated, an element has been added to the List,
            // which is purely used as type recognition.
            // Otherwise, java cannot recognize what type of data is placed in the List.
            if (list == null)
            {
                return(null);
            }

            IList _list = BasicClassTypeUtil.CreateObject(list.GetType()) as IList;

            if (_list == null)
            {
                return(null);
            }

            object listItem = BasicClassTypeUtil.CreateListItem(_list.GetType());
            Array  array    = ReadArrayImpl(listItem, tag, isRequire);

            if (array != null)
            {
                _list.Clear();
                foreach (object obj in array)
                {
                    _list.Add(obj);
                }
                return(_list);
            }

            return(null);
        }