System.Runtime.Serialization.Plists.BinaryPlistWriter.AddArray C# (CSharp) Method

AddArray() private method

Adds an array to the internal object table.
private AddArray ( IEnumerable value ) : int
value IEnumerable The value to add.
return int
        private int AddArray(IEnumerable value)
        {
            int index = this.objectTable.Count;

            BinaryPlistArray array = new BinaryPlistArray(this.objectTable);
            BinaryPlistItem item = new BinaryPlistItem(array);
            item.IsArray = true;
            this.objectTable.Add(item);

            foreach (object obj in value)
            {
                array.ObjectReference.Add(this.AddObject(obj));
                this.objectRefCount++;
            }

            if (array.ObjectReference.Count < 15)
            {
                item.Marker.Add((byte)((byte)0xA0 | (byte)array.ObjectReference.Count));
            }
            else
            {
                item.Marker.Add((byte)0xAF);
                AddIntegerCount(item.Marker, array.ObjectReference.Count);
            }

            this.objectTableSize += item.Size;
            return index;
        }