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); }
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; } }
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; } }