/// <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)); }
/// <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); }
/// <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)); }
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)); }
/// <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); }
/// <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))); }