/// <summary> /// Serializes PSObject whose base objects are of primitive known type. /// </summary> /// <param name="source"></param> /// <param name="property"></param> /// <param name="depth"></param> /// <returns> /// true if source is handled, else false. /// </returns> private bool HandlePrimitiveKnownTypePSObject(object source, string property, int depth) { Dbg.Assert(source != null, "caller should validate the parameter"); bool sourceHandled = false; PSObject moSource = source as PSObject; if (moSource != null && !moSource.immediateBaseObjectIsEmpty) { //Check if baseObject is primitive known type object baseObject = moSource.ImmediateBaseObject; TypeSerializationInfo pktInfo = KnownTypes.GetTypeSerializationInfo(baseObject.GetType()); if (pktInfo != null) { WriteOnePrimitiveKnownType(_writer, property, baseObject, pktInfo); sourceHandled = true; } } return(sourceHandled); }