예제 #1
0
        public ArrayObject Add(BaseObject obj)
        {
            if (obj is IndirectObject)
            {
                obj = new IndirectReferenceObject(((IndirectObject)obj).Reference);
            }

            _objects.Add(obj);
            return(this);
        }
예제 #2
0
        private bool WriteObject(IndirectReferenceObject reference)
        {
            if (reference == null)
            {
                return(false);
            }

            Write(reference.Value.Id.ToString())
            .Write(" ")
            .Write(reference.Value.Generation.ToString())
            .Write(" R");

            return(true);
        }
예제 #3
0
        public DictionaryObject Set(string key, BaseObject value)
        {
            if (value is IndirectObject)
            {
                value = new IndirectReferenceObject(((IndirectObject)value).Reference);
            }

            int index;

            if (_lookup.TryGetValue(key, out index))
            {
                throw new NotImplementedException();
            }

            _lookup.Add(key, _values.Count);
            _values.Add(new KeyValuePair <NameObject, BaseObject>(new NameObject(key), value));

            return(this);
        }