private void ReadObjectNull(BinaryHeaderEnum binaryHeaderEnum)
{
SerTrace.Log(this, "ReadObjectNull ");
if (objectNull == null)
{
objectNull = new ObjectNull();
}
objectNull.Read(this, binaryHeaderEnum);
objectNull.Dump();
ObjectProgress objectOp = (ObjectProgress)stack.Peek();
prs.Init();
prs.PRparseTypeEnum = InternalParseTypeE.Member;
prs.PRmemberValueEnum = InternalMemberValueE.Null;
if (objectOp.objectTypeEnum == InternalObjectTypeE.Object)
{
prs.PRmemberTypeEnum = InternalMemberTypeE.Field;
prs.PRname = objectOp.name;
prs.PRdtType = objectOp.dtType;
}
else
{
prs.PRmemberTypeEnum = InternalMemberTypeE.Item;
prs.PRnullCount = objectNull.nullCount;
//only one null position has been incremented by GetNext
//The position needs to be reset for the rest of the nulls
objectOp.ArrayCountIncrement(objectNull.nullCount - 1);
}
objectReader.Parse(prs);
}