private ContentRangeHeaderValue(ContentRangeHeaderValue source)
 {
     this.from = source.from;
     this.to = source.to;
     this.length = source.length;
     this.unit = source.unit;
 }
 private static bool TryCreateContentRange(string input, string unit, int fromStartIndex, int fromLength, int toStartIndex, int toLength, int lengthStartIndex, int lengthLength, out object parsedValue)
 {
     parsedValue = null;
     long result = 0;
     if ((fromLength > 0) && !HeaderUtilities.TryParseInt64(input.Substring(fromStartIndex, fromLength), out result))
     {
         return false;
     }
     long num2 = 0;
     if ((toLength > 0) && !HeaderUtilities.TryParseInt64(input.Substring(toStartIndex, toLength), out num2))
     {
         return false;
     }
     if (((fromLength > 0) && (toLength > 0)) && (result > num2))
     {
         return false;
     }
     long num3 = 0;
     if ((lengthLength > 0) && !HeaderUtilities.TryParseInt64(input.Substring(lengthStartIndex, lengthLength), out num3))
     {
         return false;
     }
     if (((toLength > 0) && (lengthLength > 0)) && (num2 >= num3))
     {
         return false;
     }
     ContentRangeHeaderValue value2 = new ContentRangeHeaderValue {
         unit = unit
     };
     if (fromLength > 0)
     {
         value2.from = new long?(result);
         value2.to = new long?(num2);
     }
     if (lengthLength > 0)
     {
         value2.length = new long?(num3);
     }
     parsedValue = value2;
     return true;
 }
 /// <summary>Determines whether a string is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.ContentRangeHeaderValue" /> information.</summary>
 /// <returns>Returns <see cref="T:System.Boolean" />.true if <paramref name="input" /> is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.ContentRangeHeaderValue" /> information; otherwise, false.</returns>
 /// <param name="input">The string to validate.</param>
 /// <param name="parsedValue">The <see cref="T:NMasters.Silverlight.Net.Http.Headers.ContentRangeHeaderValue" /> version of the string.</param>
 public static bool TryParse(string input, out ContentRangeHeaderValue parsedValue)
 {
     object obj2;
     int index = 0;
     parsedValue = null;
     if (GenericHeaderParser.ContentRangeParser.TryParseValue(input, null, ref index, out obj2))
     {
         parsedValue = (ContentRangeHeaderValue) obj2;
         return true;
     }
     return false;
 }