public string ToString(string format, IFormatProvider formatProvider) { if (format == null) { } else if (format.Contains("NU")) { return(LengthUnitOfMeasure.ToString(mSpeed, format, formatProvider)); } else if (format.Contains("SU")) { return(LengthUnitOfMeasure.ToString(mSpeed, "NU", formatProvider) + " " + (LengthUnitOfMeasure.GetDimensionalUnitSymbol(this) ?? DurationUnitOfMeasure.GetDimensionalUnitSymbol(this) ?? (LengthUnitOfMeasure.ToString(format, formatProvider).TrimEnd(".".ToCharArray()) + @"/" + DurationUnitOfMeasure.ToString(format, formatProvider)))); } return(LengthUnitOfMeasure.ToString(mSpeed, "NU", formatProvider) + " " + LengthUnitOfMeasure.ToString(format, formatProvider) + @" per " + DurationUnitOfMeasure.ToSingularString()); }
public Speed <TNewLengthUnitOfMeasure, TNewDurationUnitOfMeasure, TNewDataType> ConvertTo <TNewLengthUnitOfMeasure, TNewDurationUnitOfMeasure, TNewDataType>() where TNewLengthUnitOfMeasure : Lengths.Length1DUnitOfMeasure, IDefinedUnitOfMeasure where TNewDurationUnitOfMeasure : Durations.DurationUnitOfMeasure, IDefinedUnitOfMeasure where TNewDataType : struct, IComparable, IFormattable, IComparable <TNewDataType>, IEquatable <TNewDataType> { return((TNewDataType)Convert.ChangeType(ValueAsDouble * LengthUnitOfMeasure.GetCompleteMultiplier <TNewLengthUnitOfMeasure>(1) / DurationUnitOfMeasure.GetCompleteMultiplier <TNewDurationUnitOfMeasure>(1), typeof(TNewDataType))); }