Ejemplo n.º 1
0
    public static double Unit(
        [ExcelArgument("Value")] double value,
        [ExcelArgument("Previous unit", Name = "previous_Unit")] string _prevUnit,
        [ExcelArgument("New unit", Name = "new_Unit")] string _newUnit)
    {
        double prevUnit; double newUnit;

        if (ForceUnits.TryGetValue(_prevUnit, out prevUnit) &&
            ForceUnits.TryGetValue(_newUnit, out newUnit))
        {
            return(value * newUnit / prevUnit);
        }
        else if (LengthUnits.TryGetValue(_prevUnit, out prevUnit) &&
                 LengthUnits.TryGetValue(_newUnit, out newUnit))
        {
            return(value * newUnit / prevUnit);
        }
        else if (AreaUnits.TryGetValue(_prevUnit, out prevUnit) &&
                 AreaUnits.TryGetValue(_newUnit, out newUnit))
        {
            return(value * newUnit / prevUnit);
        }
        else if (MomentUnits.TryGetValue(_prevUnit, out prevUnit) &&
                 MomentUnits.TryGetValue(_newUnit, out newUnit))
        {
            return(value * newUnit / prevUnit);
        }
        else if (PressureUnits.TryGetValue(_prevUnit, out prevUnit) &&
                 PressureUnits.TryGetValue(_newUnit, out newUnit))
        {
            return(value * newUnit / prevUnit);
        }
        else
        {
            return(double.NaN);
        }
    }