/// <summary> /// Tries to remove formatting specific to this parser's expected type. /// </summary> /// <param name="text">The text to remove formatting from.</param> /// <returns>Whether or not the expected formatting was found and succesfully removed.</returns> internal virtual bool TryRemoveFormatting(ref string text) { DebugUtils.CheckNoExternalCallers(); if (this.prefix != null) { if (!UriPrimitiveTypeParser.TryRemovePrefix(this.prefix, ref text)) { return(false); } } bool shouldBeQuoted = this.prefix != null || ValueOfTypeCanContainQuotes(this.expectedType); if (shouldBeQuoted && !UriPrimitiveTypeParser.TryRemoveQuotes(ref text)) { return(false); } if (this.suffix != null) { // we need to try to remove the literal even if it isn't required. if (!TryRemoveLiteralSuffix(this.suffix, ref text) && this.suffixRequired) { return(false); } } return(true); }
/// <summary> /// Tries to remove formatting specific to this parser's expected type. /// </summary> /// <param name="text">The text to remove formatting from.</param> /// <returns> /// Whether or not the expected formatting was found and succesfully removed. /// </returns> internal override bool TryRemoveFormatting(ref string text) { DebugUtils.CheckNoExternalCallers(); if (!UriPrimitiveTypeParser.TryRemovePrefix(ExpressionConstants.LiteralPrefixBinary, ref text) && !UriPrimitiveTypeParser.TryRemovePrefix(ExpressionConstants.LiteralPrefixShortBinary, ref text)) { return(false); } if (!UriPrimitiveTypeParser.TryRemoveQuotes(ref text)) { return(false); } return(true); }
/// <summary> /// Tries to remove formatting specific to this parser's expected type. /// </summary> /// <param name="text">The text to remove formatting from.</param> /// <returns> /// Whether or not the expected formatting was found and succesfully removed. /// </returns> internal override bool TryRemoveFormatting(ref string text) { DebugUtils.CheckNoExternalCallers(); return(UriPrimitiveTypeParser.TryRemoveQuotes(ref text)); }