/// <summary> /// Reads and validates a value from the json reader and processes it as a long. /// The input value could be string or number /// </summary> /// <param name="annotationName">The name of the annotation being read.</param> /// <returns>The long that is read.</returns> internal long ReadAndValidateAnnotationAsLongForIeee754Compatible(string annotationName) { object value = this.JsonReader.ReadPrimitiveValue(); ODataJsonLightReaderUtils.ValidateAnnotationValue(value, annotationName); if ((value is string) ^ this.JsonReader.IsIeee754Compatible) { throw new ODataException(OData.Core.Strings.ODataJsonReaderUtils_ConflictBetweenInputFormatAndParameter(Metadata.EdmConstants.EdmInt64TypeName)); } return((long)ODataJsonLightReaderUtils.ConvertValue( value, EdmCoreModel.Instance.GetInt64(false), this.MessageReaderSettings, /*validateNullValue*/ true, annotationName)); }