/// <summary> /// Creates the quantity with the given numeric value and unit. /// </summary> /// <param name="numericValue">The numeric value to contruct this quantity with.</param> /// <param name="unit">The unit representation to contruct this quantity with.</param> /// <remarks>Value parameter cannot be named 'value' due to constraint when targeting Windows Runtime Component.</remarks> /// <exception cref="ArgumentException">If value is NaN or Infinity.</exception> public Molarity(double numericValue, MolarityUnit unit) { if (unit == MolarityUnit.Undefined) { throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit)); } _value = Guard.EnsureValidNumber(numericValue, nameof(numericValue)); _unit = unit; }
public Molarity(decimal value, MolarityUnit unit) { if (unit == MolarityUnit.Undefined) { throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit)); } _value = value; _unit = unit; }
/// <summary> /// Creates an instance of the quantity with the given numeric value in units compatible with the given <see cref="UnitSystem"/>. /// </summary> /// <param name="numericValue">The numeric value to contruct this quantity with.</param> /// <param name="unitSystem">The unit system to create the quantity with.</param> /// <exception cref="ArgumentNullException">The given <see cref="UnitSystem"/> is null.</exception> /// <exception cref="InvalidOperationException">No unit was found for the given <see cref="UnitSystem"/>.</exception> /// <exception cref="InvalidOperationException">More than one unit was found for the given <see cref="UnitSystem"/>.</exception> public Molarity(double numericValue, UnitSystem unitSystem) { if (unitSystem == null) { throw new ArgumentNullException(nameof(unitSystem)); } _value = Guard.EnsureValidNumber(numericValue, nameof(numericValue)); _unit = Info.GetUnitInfoFor(unitSystem.BaseUnits).Value; }
/// <summary> /// Creates an instance of the quantity with the given numeric value in units compatible with the given <see cref="UnitSystem"/>. /// If multiple compatible units were found, the first match is used. /// </summary> /// <param name="numericValue">The numeric value to contruct this quantity with.</param> /// <param name="unitSystem">The unit system to create the quantity with.</param> /// <exception cref="ArgumentNullException">The given <see cref="UnitSystem"/> is null.</exception> /// <exception cref="ArgumentException">No unit was found for the given <see cref="UnitSystem"/>.</exception> public Molarity(double numericValue, UnitSystem unitSystem) { if (unitSystem == null) { throw new ArgumentNullException(nameof(unitSystem)); } var unitInfos = Info.GetUnitInfosFor(unitSystem.BaseUnits); var firstUnitInfo = unitInfos.FirstOrDefault(); _value = Guard.EnsureValidNumber(numericValue, nameof(numericValue)); _unit = firstUnitInfo?.Value ?? throw new ArgumentException("No units were found for the given UnitSystem.", nameof(unitSystem)); }
public Molarity(decimal value, UnitSystem unitSystem) { if (unitSystem is null) { throw new ArgumentNullException(nameof(unitSystem)); } var unitInfos = Info.GetUnitInfosFor(unitSystem.BaseUnits); var firstUnitInfo = unitInfos.FirstOrDefault(); _value = value; _unit = firstUnitInfo?.Value ?? throw new ArgumentException("No units were found for the given UnitSystem.", nameof(unitSystem)); }
public Molarity(double value, UnitSystem unitSystem) { if (unitSystem is null) { throw new ArgumentNullException(nameof(unitSystem)); } _value = Guard.EnsureValidNumber(value, nameof(value)); var defaultUnitInfo = unitSystem.GetDefaultUnitInfo(QuantityType) as UnitInfo <MolarityUnit>; _unit = defaultUnitInfo?.Value ?? throw new ArgumentException("No default unit was defined for the given UnitSystem.", nameof(unitSystem)); }
/// <summary> /// Creates an instance of the quantity with the given numeric value in units compatible with the given <see cref="UnitSystem"/>. /// If multiple compatible units were found, the first match is used. /// </summary> /// <param name="numericValue">The numeric value to contruct this quantity with.</param> /// <param name="unitSystem">The unit system to create the quantity with.</param> /// <exception cref="ArgumentNullException">The given <see cref="UnitSystem"/> is null.</exception> /// <exception cref="ArgumentException">No unit was found for the given <see cref="UnitSystem"/>.</exception> public Molarity(double numericValue, UnitSystem unitSystem) { if (unitSystem == null) { throw new ArgumentNullException(nameof(unitSystem)); } var unitInfos = Info.GetUnitInfosFor(unitSystem.BaseUnits); var firstUnitInfo = unitInfos.FirstOrDefault(u => u.Value.Equals(BaseUnit)); // for custom units, sometimes we don't find the base unit, this grabs the first off the list. if (Equals(firstUnitInfo, null)) { firstUnitInfo = unitInfos.FirstOrDefault(); } _value = Guard.EnsureValidNumber(numericValue, nameof(numericValue)); _unit = firstUnitInfo?.Value ?? throw new ArgumentException("No units were found for the given UnitSystem.", nameof(unitSystem)); }
public Molarity(double molespercubicmeter) { _value = Convert.ToDouble(molespercubicmeter); _unit = BaseUnit; }
Molarity(double numericValue, MolarityUnit unit) { _value = numericValue; _unit = unit; }
/// <summary> /// Creates the quantity with a value of 0 in the base unit MolesPerCubicMeter. /// </summary> /// <remarks> /// Windows Runtime Component requires a default constructor. /// </remarks> public Molarity() { _value = 0; _unit = BaseUnit; }