public Density WithDenominatorUnit(VolumeUnit newUnit) { // generator : FractionValuesGenerator.Add_WithDenominatorUnit var oldUnit = Unit.DenominatorUnit; if (oldUnit == newUnit) { return(this); } var oldFactor = GlobalUnitRegistry.Factors.GetThrow(oldUnit); var newFactor = GlobalUnitRegistry.Factors.GetThrow(newUnit); var resultUnit = Unit.WithDenominatorUnit(newUnit); return(new Density(newFactor / oldFactor * Value, resultUnit)); }
public VolumeStream WithCounterUnit(VolumeUnit newUnit) { // generator : FractionValuesGenerator.Add_WithCounterUnit var oldUnit = Unit.CounterUnit; if (oldUnit == newUnit) { return(this); } var oldFactor = GlobalUnitRegistry.Factors.GetThrow(oldUnit); var newFactor = GlobalUnitRegistry.Factors.GetThrow(newUnit); var resultUnit = Unit.WithCounterUnit(newUnit); return(new VolumeStream(oldFactor / newFactor * Value, resultUnit)); }
public static Density Parse(string value) { // generator : FractionValuesGenerator.Add_Parse if (string.IsNullOrEmpty(value)) { throw new ArgumentNullException(nameof(value)); } var r = CommonParse.Parse(value, typeof(Density)); var units = Common.SplitUnitNameBySlash(r.UnitName); if (units.Length != 2) { throw new Exception($"{r.UnitName} is not valid Density unit"); } var counterUnit = new MassUnit(units[0]); var denominatorUnit = new VolumeUnit(units[1]); return(new Density(r.Value, counterUnit, denominatorUnit)); }
public Density(decimal value, MassUnit counterUnit, VolumeUnit denominatorUnit) { Value = value; Unit = new DensityUnit(counterUnit, denominatorUnit); }
public VolumeStream(decimal value, VolumeUnit counterUnit, TimeUnit denominatorUnit) { Value = value; Unit = new VolumeStreamUnit(counterUnit, denominatorUnit); }