public static Celsius From(IQuantity <double> q)
        {
            Scale <double> scale = Catalog.Scale(Celsius.Family, q.Unit);

            if (scale == null)
            {
                throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" to \"Celsius\".", q.GetType().Name));
            }
            return(Celsius.From(scale.Create(q.Value)));
        }
 public override ILevel <double> From(IQuantity <double> quantity)
 {
     return(Celsius.From(quantity));
 }
 public int /* IComparable<Celsius> */ CompareTo(Celsius other)
 {
     return(this.m_level.CompareTo(other.m_level));
 }
 public override ILevel <double> From(ILevel <double> level)
 {
     return(Celsius.From(level));
 }
 public bool /* IEquatable<Celsius> */ Equals(Celsius other)
 {
     return(this.m_level == other.m_level);
 }