示例#1
0
文件: Tag.cs 项目: NeoLegends/ENbt
        public static Tag ReadFrom(ENbtBinaryReader reader, TagResolver resolver)
        {
            Contract.Requires <ArgumentNullException>(reader != null);
            Contract.Requires <ArgumentNullException>(resolver != null);

            return(resolver.Resolve(reader.ReadTagType())
                   .Invoke(reader));
        }
示例#2
0
        public ArrayTag(ENbtBinaryReader reader)
        {
            Contract.Requires <ArgumentNullException>(reader != null);

            this.ChildrenType = reader.ReadTagType();
            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                children.Add(Tag.ReadFrom(reader, this.ChildrenType));
            }
        }