Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Range<T> where T : IComparable<T>, ISerializable
- {
- /// <summary>Minimum value of the range.</summary>
- public T Minimum { get; set; }
- /// <summary>Maximum value of the range.</summary>
- public T Maximum { get; set; }
- /// <summary>Presents the Range in readable format.</summary>
- /// <returns>String representation of the Range</returns>
- public override string ToString()
- {
- return string.Format("[{0} - {1}]", Minimum, Maximum);
- }
- /// <summary>Determines if the range is valid.</summary>
- /// <returns>True if range is valid, else false</returns>
- public bool IsValid()
- {
- return Minimum.CompareTo(Maximum) <= 0;
- }
- public XmlSchema GetSchema() { return null; }
- public void ReadXml(XmlReader reader)
- {
- // start reading
- reader.MoveToContent();
- Type t = typeof(T);
- var min = reader["Minimum"];
- var max = reader["Maximum"];
- Minimum = (T)Convert.ChangeType(min, t);
- Maximum = (T)Convert.ChangeType(max, t);
- reader.Read();
- }
- public void WriteXml(XmlWriter writer)
- {
- writer.WriteAttributeString("Minimum", Minimum.ToString());
- writer.WriteAttributeString("Maximum", Maximum.ToString());
- }
- }
- public Range<double> Whr;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement