public ElectricSurfaceChargeDensity(double value, ElectricSurfaceChargeDensityUnit unit) { if(unit == ElectricSurfaceChargeDensityUnit.Undefined) throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit)); _value = Guard.EnsureValidNumber(value, nameof(value)); _unit = unit; }
/// <summary> /// Creates the quantity with the given numeric value and unit. /// </summary> /// <param name="value">The numeric value to construct this quantity with.</param> /// <param name="unit">The unit representation to construct 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> private ElectricSurfaceChargeDensity(double value, ElectricSurfaceChargeDensityUnit unit) { if (unit == ElectricSurfaceChargeDensityUnit.Undefined) { throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit)); } _value = value; _unit = unit; }
public ElectricSurfaceChargeDensity(double value, UnitSystem unitSystem) { if(unitSystem is null) throw new ArgumentNullException(nameof(unitSystem)); var unitInfos = Info.GetUnitInfosFor(unitSystem.BaseUnits); var firstUnitInfo = unitInfos.FirstOrDefault(); _value = Guard.EnsureValidNumber(value, nameof(value)); _unit = firstUnitInfo?.Value ?? throw new ArgumentException("No units were found 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"/>. /// </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 ElectricSurfaceChargeDensity(double numericValue, UnitSystem unitSystem) { if (unitSystem == null) { throw new ArgumentNullException(nameof(unitSystem)); } _value = Guard.EnsureValidNumber(numericValue, nameof(numericValue)); _unit = Info.GetUnitInfoFor(unitSystem.BaseUnits).Value; }
public ElectricSurfaceChargeDensity(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 <ElectricSurfaceChargeDensityUnit>; _unit = defaultUnitInfo?.Value ?? throw new ArgumentException("No default unit was defined for the given UnitSystem.", nameof(unitSystem)); }
public ElectricSurfaceChargeDensity(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)); }
/// <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 ElectricSurfaceChargeDensity(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)); }
/// <summary> /// Creates the quantity with a value of 0 in the base unit CoulombPerSquareMeter. /// </summary> /// <remarks> /// Windows Runtime Component requires a default constructor. /// </remarks> public ElectricSurfaceChargeDensity() { _value = 0; _unit = BaseUnit; }