/// <inheritdoc />
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            var text = value as string;

            if (text != null)
            {
                ForceUnit result;
                if (ForceUnit.TryParse(text, out result))
                {
                    return(result);
                }

                var message = $"Could not convert the string '{text}' to an instance of ForceUnit)";
                throw new NotSupportedException(message);
            }

            return(base.ConvertFrom(context, culture, value));
        }
Пример #2
0
 /// <summary>
 /// Returns a quantity indicating whether this instance is equal to a specified <see cref="Gu.Units.ForceUnit"/> object.
 /// </summary>
 /// <param name="other">An instance of <see cref="Gu.Units.ForceUnit"/> object to compare with this instance.</param>
 /// <returns>
 /// true if <paramref name="other"/> represents the same ForceUnit as this instance; otherwise, false.
 /// </returns>
 public bool Equals(ForceUnit other)
 {
     return(this.symbol == other.symbol);
 }
Пример #3
0
 /// <summary>
 /// Creates an instance of <see cref="Gu.Units.ForceUnit"/> from its string representation
 /// </summary>
 /// <param name="text">The string representation of the <see cref="Gu.Units.ForceUnit"/></param>
 /// <param name="result">The parsed <see cref="ForceUnit"/></param>
 /// <returns>True if an instance of <see cref="ForceUnit"/> could be parsed from <paramref name="text"/></returns>
 public static bool TryParse(string text, out ForceUnit result)
 {
     return(UnitParser <ForceUnit> .TryParse(text, out result));
 }
Пример #4
0
        public string ToString(string format, IFormatProvider formatProvider, ForceUnit unit)
        {
            var quantity = unit.FromSiUnit(this.newtons);

            return(string.Format("{0}{1}", quantity.ToString(format, formatProvider), unit.Symbol));
        }
Пример #5
0
 /// <summary>
 /// Initializes a new instance of <see cref="T:Gu.Units.Force"/>.
 /// </summary>
 /// <param name="value"></param>
 /// <param name="unit"><see cref="T:Gu.Units.Newtons"/>.</param>
 public Force(double value, ForceUnit unit)
 {
     this.newtons = unit.ToSiUnit(value);
 }
Пример #6
0
 /// <summary>
 /// Creates a new instance of <see cref="T:Gu.Units.Force"/>.
 /// </summary>
 /// <param name="value"></param>
 /// <param name="unit"></param>
 public static Force From(double value, ForceUnit unit)
 {
     return(new Force(unit.ToSiUnit(value)));
 }