Esempio n. 1
0
        private void ReadObjectNull(BinaryHeaderEnum binaryHeaderEnum)
        {
            if (_objectNull == null)
            {
                _objectNull = new ObjectNull();
            }
            _objectNull.Set(_objectNull.NullCount, binaryHeaderEnum);
            _objectNull.Read(this);
            ObjectProgress progress = (ObjectProgress)stack.Peek();

            PRs.Init();
            PRs.parseTypeEnum   = ParseTypeEnum.Member;
            PRs.memberValueEnum = MemberValueEnum.Null;
            if (progress._objectTypeEnum == ObjectTypeEnum.Object)
            {
                PRs.memberTypeEnum = MemberTypeEnum.Field;
                PRs.name           = progress._name;
                PRs.dtType         = progress._dtType;
            }
            else
            {
                PRs.memberTypeEnum = MemberTypeEnum.Item;
                PRs.consecutiveNullArrayEntryCount = _objectNull.NullCount;
                progress.ArrayCountIncrement(_objectNull.NullCount - 1);
            }
            objectReader.Parse(PRs);
        }
Esempio n. 2
0
 private void InternalWriteItemNull()
 {
     if (this._consecutiveNullArrayEntryCount > 0)
     {
         if (this._objectNull == null)
         {
             this._objectNull = new ObjectNull();
         }
         this._objectNull.Set(this._consecutiveNullArrayEntryCount);
         this._objectNull.Write(this);
         this._consecutiveNullArrayEntryCount = 0;
     }
 }
Esempio n. 3
0
 internal void WriteNullMember(NameInfo memberNameInfo /*, NameInfo typeNameInfo*/)
 {
     this.InternalWriteItemNull();
     if (this._objectNull == null)
     {
         this._objectNull = new ObjectNull();
     }
     if (!memberNameInfo._isArrayItem)
     {
         this._objectNull.Set(1);
         this._objectNull.Write(this);
         this._consecutiveNullArrayEntryCount = 0;
     }
 }