/// <summary> /// Asynchronously reads the content of a text reader as string and, if <paramref name="expectedPrimitiveTypeReference"/> is specified and primitive type conversion /// is enabled, converts the string to the expected type. /// </summary> /// <param name="expectedPrimitiveTypeReference">The expected type of the value being read or null if no type conversion should be performed.</param> /// <returns> /// A task that represents the asynchronous read operation. /// The value of the TResult parameter contains the raw value that was read from the text reader /// either as string or converted to the provided <paramref name="expectedPrimitiveTypeReference"/>. /// </returns> private async Task <object> ReadRawValueAsync(IEdmPrimitiveTypeReference expectedPrimitiveTypeReference) { string stringFromStream = await this.textReader.ReadToEndAsync() .ConfigureAwait(false); if (expectedPrimitiveTypeReference != null && this.MessageReaderSettings.EnablePrimitiveTypeConversion) { return(ODataRawValueUtils.ConvertStringToPrimitive(stringFromStream, expectedPrimitiveTypeReference)); } else { return(stringFromStream); } }
/// <summary> /// Reads the content of a text reader as string and, if <paramref name="expectedPrimitiveTypeReference"/> is specified and primitive type conversion /// is enabled, converts the string to the expected type. /// </summary> /// <param name="expectedPrimitiveTypeReference">The expected type of the value being read or null if no type conversion should be performed.</param> /// <returns>The raw value that was read from the text reader either as string or converted to the provided <paramref name="expectedPrimitiveTypeReference"/>.</returns> private object ReadRawValue(IEdmPrimitiveTypeReference expectedPrimitiveTypeReference) { string stringFromStream = this.textReader.ReadToEnd(); object rawValue; if (expectedPrimitiveTypeReference != null && this.MessageReaderSettings.EnablePrimitiveTypeConversion) { rawValue = ODataRawValueUtils.ConvertStringToPrimitive(stringFromStream, expectedPrimitiveTypeReference); } else { rawValue = stringFromStream; } return(rawValue); }