private RangeConditionHeaderValue(RangeConditionHeaderValue source) { this.entityTag = source.entityTag; this.date = source.date; }
/// <summary>Determines whether a string is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.RangeConditionHeaderValue" /> information.</summary> /// <returns>Returns <see cref="T:System.Boolean" />.true if <paramref name="input" /> is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.RangeConditionHeaderValue" /> information; otherwise, false.</returns> /// <param name="input">The string to validate.</param> /// <param name="parsedValue">The <see cref="T:NMasters.Silverlight.Net.Http.Headers.RangeConditionHeaderValue" /> version of the string.</param> public static bool TryParse(string input, out RangeConditionHeaderValue parsedValue) { object obj2; int index = 0; parsedValue = null; if (GenericHeaderParser.RangeConditionParser.TryParseValue(input, null, ref index, out obj2)) { parsedValue = (RangeConditionHeaderValue) obj2; return true; } return false; }
internal static int GetRangeConditionLength(string input, int startIndex, out object parsedValue) { RangeConditionHeaderValue value3; parsedValue = null; if (string.IsNullOrEmpty(input) || ((startIndex + 1) >= input.Length)) { return 0; } int length = startIndex; DateTimeOffset minValue = DateTimeOffset.MinValue; EntityTagHeaderValue value2 = null; char ch = input[length]; char ch2 = input[length + 1]; if ((ch == '"') || (((ch == 'w') || (ch == 'W')) && (ch2 == '/'))) { int num2 = EntityTagHeaderValue.GetEntityTagLength(input, length, out value2); if (num2 != 0) { length += num2; if (length == input.Length) { goto Label_0084; } } return 0; } if (!HttpRuleParser.TryStringToDate(input.Substring(length), out minValue)) { return 0; } length = input.Length; Label_0084: value3 = new RangeConditionHeaderValue(); if (value2 == null) { value3.date = new DateTimeOffset?(minValue); } else { value3.entityTag = value2; } parsedValue = value3; return (length - startIndex); }