Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. public class Range<T> where T : IComparable<T>, ISerializable
  2. {
  3. /// <summary>Minimum value of the range.</summary>
  4. public T Minimum { get; set; }
  5.  
  6. /// <summary>Maximum value of the range.</summary>
  7. public T Maximum { get; set; }
  8.  
  9. /// <summary>Presents the Range in readable format.</summary>
  10. /// <returns>String representation of the Range</returns>
  11. public override string ToString()
  12. {
  13. return string.Format("[{0} - {1}]", Minimum, Maximum);
  14. }
  15.  
  16. /// <summary>Determines if the range is valid.</summary>
  17. /// <returns>True if range is valid, else false</returns>
  18. public bool IsValid()
  19. {
  20. return Minimum.CompareTo(Maximum) <= 0;
  21. }
  22.  
  23. public XmlSchema GetSchema() { return null; }
  24.  
  25. public void ReadXml(XmlReader reader)
  26. {
  27. // start reading
  28. reader.MoveToContent();
  29.  
  30. Type t = typeof(T);
  31. var min = reader["Minimum"];
  32. var max = reader["Maximum"];
  33.  
  34. Minimum = (T)Convert.ChangeType(min, t);
  35. Maximum = (T)Convert.ChangeType(max, t);
  36.  
  37. reader.Read();
  38. }
  39.  
  40. public void WriteXml(XmlWriter writer)
  41. {
  42. writer.WriteAttributeString("Minimum", Minimum.ToString());
  43. writer.WriteAttributeString("Maximum", Maximum.ToString());
  44. }
  45. }
  46.  
  47. public Range<double> Whr;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement