internal void WriteMember(NameInfo memberNameInfo, NameInfo typeNameInfo, Object value) { #if _DEBUG SerTrace.Log("BinaryWriter", "Write Member memberName ", memberNameInfo.NIname, ", value ", value); memberNameInfo.Dump("WriteMember memberNameInfo"); typeNameInfo.Dump("WriteMember typeNameInfo"); #endif InternalWriteItemNull(); InternalPrimitiveTypeE typeInformation = typeNameInfo.NIprimitiveTypeEnum; // Writes Members with primitive values if (memberNameInfo.NItransmitTypeOnMember) { if (memberPrimitiveTyped == null) { memberPrimitiveTyped = new MemberPrimitiveTyped(); } memberPrimitiveTyped.Set((InternalPrimitiveTypeE)typeInformation, value); if (memberNameInfo.NIisArrayItem) { BCLDebug.Trace("BINARY", "-----item-----"); } else { BCLDebug.Trace("BINARY", "-----", memberNameInfo.NIname, "-----"); } memberPrimitiveTyped.Dump(); memberPrimitiveTyped.Write(this); } else { if (memberPrimitiveUnTyped == null) { memberPrimitiveUnTyped = new MemberPrimitiveUnTyped(); } memberPrimitiveUnTyped.Set(typeInformation, value); if (memberNameInfo.NIisArrayItem) { BCLDebug.Trace("BINARY", "-----item-----"); } else { BCLDebug.Trace("BINARY", "-----", memberNameInfo.NIname, "-----"); } memberPrimitiveUnTyped.Dump(); memberPrimitiveUnTyped.Write(this); } }