// Determines if a type is a primitive type, if it is it is written private bool WriteKnownValueClass(NameInfo memberNameInfo, NameInfo typeNameInfo, object data) { if (ReferenceEquals(typeNameInfo._type, Converter.s_typeofString)) { WriteString(memberNameInfo, typeNameInfo, data); } else { if (typeNameInfo._primitiveTypeEnum == InternalPrimitiveTypeE.Invalid) { return(false); } else { if (typeNameInfo._isArray) // null if an array { _serWriter.WriteItem(memberNameInfo, typeNameInfo, data); } else { _serWriter.WriteMember(memberNameInfo, typeNameInfo, data); } } } return(true); }