Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
 public Density(decimal value, MassUnit counterUnit, VolumeUnit denominatorUnit)
 {
     Value = value;
     Unit  = new DensityUnit(counterUnit, denominatorUnit);
 }
Example #5
0
 public VolumeStream(decimal value, VolumeUnit counterUnit, TimeUnit denominatorUnit)
 {
     Value = value;
     Unit  = new VolumeStreamUnit(counterUnit, denominatorUnit);
 }