/// <summary>Determines whether a string is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.TransferCodingHeaderValue" /> information.</summary> /// <returns>Returns <see cref="T:System.Boolean" />.true if <paramref name="input" /> is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.TransferCodingHeaderValue" /> information; otherwise, false.</returns> /// <param name="input">The string to validate.</param> /// <param name="parsedValue">The <see cref="T:NMasters.Silverlight.Net.Http.Headers.TransferCodingHeaderValue" /> version of the string.</param> public static bool TryParse(string input, out TransferCodingHeaderValue parsedValue) { object obj2; int index = 0; parsedValue = null; if (TransferCodingHeaderParser.SingleValueParser.TryParseValue(input, null, ref index, out obj2)) { parsedValue = (TransferCodingHeaderValue) obj2; return true; } return false; }
internal static int GetTransferCodingLength(string input, int startIndex, Func<TransferCodingHeaderValue> transferCodingCreator, out TransferCodingHeaderValue parsedValue) { parsedValue = null; if (string.IsNullOrEmpty(input) || (startIndex >= input.Length)) { return 0; } int tokenLength = HttpRuleParser.GetTokenLength(input, startIndex); if (tokenLength == 0) { return 0; } string str = input.Substring(startIndex, tokenLength); int num2 = startIndex + tokenLength; num2 += HttpRuleParser.GetWhitespaceLength(input, num2); TransferCodingHeaderValue value2 = null; if ((num2 < input.Length) && (input[num2] == ';')) { value2 = transferCodingCreator.Invoke(); value2.value = str; num2++; int num3 = NameValueHeaderValue.GetNameValueListLength(input, num2, ';', value2.Parameters); if (num3 == 0) { return 0; } parsedValue = value2; return ((num2 + num3) - startIndex); } value2 = transferCodingCreator.Invoke(); value2.value = str; parsedValue = value2; return (num2 - startIndex); }