public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { var text = value as string; if (text != null) { SpecificVolumeUnit result; if (SpecificVolumeUnit.TryParse(text, out result)) { return(result); } var message = $"Could not convert the string '{text}' to an instance of SpecificVolumeUnit)"; 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.SpecificVolumeUnit"/> object. /// </summary> /// <param name="other">An instance of <see cref="Gu.Units.SpecificVolumeUnit"/> object to compare with this instance.</param> /// <returns> /// true if <paramref name="other"/> represents the same SpecificVolumeUnit as this instance; otherwise, false. /// </returns> public bool Equals(SpecificVolumeUnit other) { return(this.symbol == other.symbol); }
/// <summary> /// Creates an instance of <see cref="Gu.Units.SpecificVolumeUnit"/> from its string representation /// </summary> /// <param name="text">The string representation of the <see cref="Gu.Units.SpecificVolumeUnit"/></param> /// <param name="result">The parsed <see cref="SpecificVolumeUnit"/></param> /// <returns>True if an instance of <see cref="SpecificVolumeUnit"/> could be parsed from <paramref name="text"/></returns> public static bool TryParse(string text, out SpecificVolumeUnit result) { return(UnitParser <SpecificVolumeUnit> .TryParse(text, out result)); }