diff --git a/UnitsNet.Tests/CustomCode/LengthTests.cs b/UnitsNet.Tests/CustomCode/LengthTests.cs
index ad183c9d35..197853bcc2 100644
--- a/UnitsNet.Tests/CustomCode/LengthTests.cs
+++ b/UnitsNet.Tests/CustomCode/LengthTests.cs
@@ -20,6 +20,7 @@
// THE SOFTWARE.
using NUnit.Framework;
+using UnitsNet.Units;
namespace UnitsNet.Tests.CustomCode
{
@@ -88,5 +89,25 @@ public void LengthTimesLengthEqualsArea()
Area area = Length.FromMeters(10)*Length.FromMeters(2);
Assert.AreEqual(area, Area.FromSquareMeters(20));
}
+
+ [Test]
+ public void ToStringReturnsCorrectNumberAndUnitWithDefaultUnitWhichIsMeter()
+ {
+ Length.ToStringDefaultUnit = LengthUnit.Meter;
+ Length meter = Length.FromMeters(5);
+ string meterString = meter.ToString();
+ Assert.AreEqual("5 m", meterString);
+ }
+
+ [Test]
+ public void ToStringReturnsCorrectNumberAndUnitWithCentimeterAsDefualtUnit()
+ {
+ LengthUnit oldUnit = Length.ToStringDefaultUnit;
+ Length.ToStringDefaultUnit = LengthUnit.Centimeter;
+ Length value = Length.From(2, LengthUnit.Centimeter);
+ string valueString = value.ToString();
+ Length.ToStringDefaultUnit = oldUnit;
+ Assert.AreEqual("2 cm", valueString);
+ }
}
}
\ No newline at end of file
diff --git a/UnitsNet.Tests/CustomCode/VolumeTests.cs b/UnitsNet.Tests/CustomCode/VolumeTests.cs
index 9d20fde52a..241889b9ab 100644
--- a/UnitsNet.Tests/CustomCode/VolumeTests.cs
+++ b/UnitsNet.Tests/CustomCode/VolumeTests.cs
@@ -43,6 +43,8 @@ public class VolumeTests : VolumeTestsBase
protected override double CubicMillimetersInOneCubicMeter => 1E9;
+ protected override double CubicMicrometersInOneCubicMeter => 1E18;
+
protected override double CubicYardsInOneCubicMeter => 1.30795062;
protected override double DecilitersInOneCubicMeter => 1E4;
diff --git a/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
index 97a0f13a8b..ff47f26b60 100644
--- a/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
+++ b/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
@@ -43,6 +43,7 @@ public abstract partial class VolumeTestsBase
protected abstract double CubicInchesInOneCubicMeter { get; }
protected abstract double CubicKilometersInOneCubicMeter { get; }
protected abstract double CubicMetersInOneCubicMeter { get; }
+ protected abstract double CubicMicrometersInOneCubicMeter { get; }
protected abstract double CubicMilesInOneCubicMeter { get; }
protected abstract double CubicMillimetersInOneCubicMeter { get; }
protected abstract double CubicYardsInOneCubicMeter { get; }
@@ -68,6 +69,7 @@ public abstract partial class VolumeTestsBase
protected virtual double CubicInchesTolerance { get { return 1e-5; } }
protected virtual double CubicKilometersTolerance { get { return 1e-5; } }
protected virtual double CubicMetersTolerance { get { return 1e-5; } }
+ protected virtual double CubicMicrometersTolerance { get { return 1e-5; } }
protected virtual double CubicMilesTolerance { get { return 1e-5; } }
protected virtual double CubicMillimetersTolerance { get { return 1e-5; } }
protected virtual double CubicYardsTolerance { get { return 1e-5; } }
@@ -97,6 +99,7 @@ public void CubicMeterToVolumeUnits()
Assert.AreEqual(CubicInchesInOneCubicMeter, cubicmeter.CubicInches, CubicInchesTolerance);
Assert.AreEqual(CubicKilometersInOneCubicMeter, cubicmeter.CubicKilometers, CubicKilometersTolerance);
Assert.AreEqual(CubicMetersInOneCubicMeter, cubicmeter.CubicMeters, CubicMetersTolerance);
+ Assert.AreEqual(CubicMicrometersInOneCubicMeter, cubicmeter.CubicMicrometers, CubicMicrometersTolerance);
Assert.AreEqual(CubicMilesInOneCubicMeter, cubicmeter.CubicMiles, CubicMilesTolerance);
Assert.AreEqual(CubicMillimetersInOneCubicMeter, cubicmeter.CubicMillimeters, CubicMillimetersTolerance);
Assert.AreEqual(CubicYardsInOneCubicMeter, cubicmeter.CubicYards, CubicYardsTolerance);
@@ -125,6 +128,7 @@ public void FromValueAndUnit()
Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicInch).CubicInches, CubicInchesTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicKilometer).CubicKilometers, CubicKilometersTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicMeter).CubicMeters, CubicMetersTolerance);
+ Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicMicrometer).CubicMicrometers, CubicMicrometersTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicMile).CubicMiles, CubicMilesTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicMillimeter).CubicMillimeters, CubicMillimetersTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.CubicYard).CubicYards, CubicYardsTolerance);
@@ -154,6 +158,7 @@ public void As()
Assert.AreEqual(CubicInchesInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicInch), CubicInchesTolerance);
Assert.AreEqual(CubicKilometersInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicKilometer), CubicKilometersTolerance);
Assert.AreEqual(CubicMetersInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicMeter), CubicMetersTolerance);
+ Assert.AreEqual(CubicMicrometersInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicMicrometer), CubicMicrometersTolerance);
Assert.AreEqual(CubicMilesInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicMile), CubicMilesTolerance);
Assert.AreEqual(CubicMillimetersInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicMillimeter), CubicMillimetersTolerance);
Assert.AreEqual(CubicYardsInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicYard), CubicYardsTolerance);
@@ -183,6 +188,7 @@ public void ConversionRoundTrip()
Assert.AreEqual(1, Volume.FromCubicInches(cubicmeter.CubicInches).CubicMeters, CubicInchesTolerance);
Assert.AreEqual(1, Volume.FromCubicKilometers(cubicmeter.CubicKilometers).CubicMeters, CubicKilometersTolerance);
Assert.AreEqual(1, Volume.FromCubicMeters(cubicmeter.CubicMeters).CubicMeters, CubicMetersTolerance);
+ Assert.AreEqual(1, Volume.FromCubicMicrometers(cubicmeter.CubicMicrometers).CubicMeters, CubicMicrometersTolerance);
Assert.AreEqual(1, Volume.FromCubicMiles(cubicmeter.CubicMiles).CubicMeters, CubicMilesTolerance);
Assert.AreEqual(1, Volume.FromCubicMillimeters(cubicmeter.CubicMillimeters).CubicMeters, CubicMillimetersTolerance);
Assert.AreEqual(1, Volume.FromCubicYards(cubicmeter.CubicYards).CubicMeters, CubicYardsTolerance);
diff --git a/UnitsNet/CustomCode/UnitClasses/Length.extra.cs b/UnitsNet/CustomCode/UnitClasses/Length.extra.cs
index f25926111b..fb530ed0cd 100644
--- a/UnitsNet/CustomCode/UnitClasses/Length.extra.cs
+++ b/UnitsNet/CustomCode/UnitClasses/Length.extra.cs
@@ -20,6 +20,7 @@
// THE SOFTWARE.
using System;
+using System.Diagnostics;
using System.Globalization;
using UnitsNet.Units;
diff --git a/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs b/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
index 36e409a7d3..16741221c6 100644
--- a/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
+++ b/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
@@ -32,6 +32,7 @@ public enum VolumeUnit
CubicInch,
CubicKilometer,
CubicMeter,
+ CubicMicrometer,
CubicMile,
CubicMillimeter,
CubicYard,
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Acceleration.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Acceleration.g.cs
index 2e97a8bb1d..1f693b5a27 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Acceleration.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Acceleration.g.cs
@@ -473,13 +473,18 @@ public static AccelerationUnit ParseUnit(string str, IFormatProvider formatProvi
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is MeterPerSecondSquared
+ ///
+ public static AccelerationUnit ToStringDefaultUnit { get; set; } = AccelerationUnit.MeterPerSecondSquared;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(AccelerationUnit.MeterPerSecondSquared);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/AmplitudeRatio.g.cs b/UnitsNet/GeneratedCode/UnitClasses/AmplitudeRatio.g.cs
index af61d1867c..665f7932cb 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/AmplitudeRatio.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/AmplitudeRatio.g.cs
@@ -401,13 +401,18 @@ public static AmplitudeRatioUnit ParseUnit(string str, IFormatProvider formatPro
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is DecibelVolt
+ ///
+ public static AmplitudeRatioUnit ToStringDefaultUnit { get; set; } = AmplitudeRatioUnit.DecibelVolt;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(AmplitudeRatioUnit.DecibelVolt);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Angle.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Angle.g.cs
index e47a9faa7c..0cc5293fae 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Angle.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Angle.g.cs
@@ -533,13 +533,18 @@ public static AngleUnit ParseUnit(string str, IFormatProvider formatProvider = n
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Degree
+ ///
+ public static AngleUnit ToStringDefaultUnit { get; set; } = AngleUnit.Degree;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(AngleUnit.Degree);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Area.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Area.g.cs
index 726318e673..8ae5edfda5 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Area.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Area.g.cs
@@ -533,13 +533,18 @@ public static AreaUnit ParseUnit(string str, IFormatProvider formatProvider = nu
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is SquareMeter
+ ///
+ public static AreaUnit ToStringDefaultUnit { get; set; } = AreaUnit.SquareMeter;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(AreaUnit.SquareMeter);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Density.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Density.g.cs
index 839f6c968f..842783bed7 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Density.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Density.g.cs
@@ -533,13 +533,18 @@ public static DensityUnit ParseUnit(string str, IFormatProvider formatProvider =
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is KilogramPerCubicMeter
+ ///
+ public static DensityUnit ToStringDefaultUnit { get; set; } = DensityUnit.KilogramPerCubicMeter;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(DensityUnit.KilogramPerCubicMeter);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Duration.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Duration.g.cs
index bf8c463258..5734d29371 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Duration.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Duration.g.cs
@@ -533,13 +533,18 @@ public static DurationUnit ParseUnit(string str, IFormatProvider formatProvider
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Second
+ ///
+ public static DurationUnit ToStringDefaultUnit { get; set; } = DurationUnit.Second;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(DurationUnit.Second);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/ElectricCurrent.g.cs b/UnitsNet/GeneratedCode/UnitClasses/ElectricCurrent.g.cs
index f7125fafa8..b27d9ed508 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/ElectricCurrent.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/ElectricCurrent.g.cs
@@ -453,13 +453,18 @@ public static ElectricCurrentUnit ParseUnit(string str, IFormatProvider formatPr
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Ampere
+ ///
+ public static ElectricCurrentUnit ToStringDefaultUnit { get; set; } = ElectricCurrentUnit.Ampere;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(ElectricCurrentUnit.Ampere);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/ElectricPotential.g.cs b/UnitsNet/GeneratedCode/UnitClasses/ElectricPotential.g.cs
index a722ba2583..2697432f2b 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/ElectricPotential.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/ElectricPotential.g.cs
@@ -433,13 +433,18 @@ public static ElectricPotentialUnit ParseUnit(string str, IFormatProvider format
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Volt
+ ///
+ public static ElectricPotentialUnit ToStringDefaultUnit { get; set; } = ElectricPotentialUnit.Volt;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(ElectricPotentialUnit.Volt);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/ElectricResistance.g.cs b/UnitsNet/GeneratedCode/UnitClasses/ElectricResistance.g.cs
index ea491f99d8..c7f4dbb522 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/ElectricResistance.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/ElectricResistance.g.cs
@@ -393,13 +393,18 @@ public static ElectricResistanceUnit ParseUnit(string str, IFormatProvider forma
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Ohm
+ ///
+ public static ElectricResistanceUnit ToStringDefaultUnit { get; set; } = ElectricResistanceUnit.Ohm;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(ElectricResistanceUnit.Ohm);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Energy.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Energy.g.cs
index c8ae39b475..91d0404698 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Energy.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Energy.g.cs
@@ -593,13 +593,18 @@ public static EnergyUnit ParseUnit(string str, IFormatProvider formatProvider =
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Joule
+ ///
+ public static EnergyUnit ToStringDefaultUnit { get; set; } = EnergyUnit.Joule;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(EnergyUnit.Joule);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs
index 42b467469c..fa590a1243 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs
@@ -453,13 +453,18 @@ public static FlowUnit ParseUnit(string str, IFormatProvider formatProvider = nu
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is CubicMeterPerSecond
+ ///
+ public static FlowUnit ToStringDefaultUnit { get; set; } = FlowUnit.CubicMeterPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(FlowUnit.CubicMeterPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Force.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Force.g.cs
index 5c2c200dd4..4e84c3aaf2 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Force.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Force.g.cs
@@ -493,13 +493,18 @@ public static ForceUnit ParseUnit(string str, IFormatProvider formatProvider = n
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Newton
+ ///
+ public static ForceUnit ToStringDefaultUnit { get; set; } = ForceUnit.Newton;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(ForceUnit.Newton);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/ForceChangeRate.g.cs b/UnitsNet/GeneratedCode/UnitClasses/ForceChangeRate.g.cs
index 1aea4c3271..3f7d44cb17 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/ForceChangeRate.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/ForceChangeRate.g.cs
@@ -353,13 +353,18 @@ public static ForceChangeRateUnit ParseUnit(string str, IFormatProvider formatPr
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is NewtonPerSecond
+ ///
+ public static ForceChangeRateUnit ToStringDefaultUnit { get; set; } = ForceChangeRateUnit.NewtonPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(ForceChangeRateUnit.NewtonPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Frequency.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Frequency.g.cs
index 537dda7d9e..4110be7e44 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Frequency.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Frequency.g.cs
@@ -493,13 +493,18 @@ public static FrequencyUnit ParseUnit(string str, IFormatProvider formatProvider
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Hertz
+ ///
+ public static FrequencyUnit ToStringDefaultUnit { get; set; } = FrequencyUnit.Hertz;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(FrequencyUnit.Hertz);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Information.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Information.g.cs
index dc0def7001..dca8726316 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Information.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Information.g.cs
@@ -853,13 +853,18 @@ public static InformationUnit ParseUnit(string str, IFormatProvider formatProvid
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Bit
+ ///
+ public static InformationUnit ToStringDefaultUnit { get; set; } = InformationUnit.Bit;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(InformationUnit.Bit);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/KinematicViscosity.g.cs b/UnitsNet/GeneratedCode/UnitClasses/KinematicViscosity.g.cs
index 26d841a987..1f797d8697 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/KinematicViscosity.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/KinematicViscosity.g.cs
@@ -493,13 +493,18 @@ public static KinematicViscosityUnit ParseUnit(string str, IFormatProvider forma
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is SquareMeterPerSecond
+ ///
+ public static KinematicViscosityUnit ToStringDefaultUnit { get; set; } = KinematicViscosityUnit.SquareMeterPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(KinematicViscosityUnit.SquareMeterPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Length.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Length.g.cs
index 7846ba599f..04b1c8f347 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Length.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Length.g.cs
@@ -613,13 +613,18 @@ public static LengthUnit ParseUnit(string str, IFormatProvider formatProvider =
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Meter
+ ///
+ public static LengthUnit ToStringDefaultUnit { get; set; } = LengthUnit.Meter;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(LengthUnit.Meter);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Level.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Level.g.cs
index de8f5d6018..7138756d94 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Level.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Level.g.cs
@@ -381,13 +381,18 @@ public static LevelUnit ParseUnit(string str, IFormatProvider formatProvider = n
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Decibel
+ ///
+ public static LevelUnit ToStringDefaultUnit { get; set; } = LevelUnit.Decibel;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(LevelUnit.Decibel);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Mass.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Mass.g.cs
index 6c649b8c52..f224a1d60a 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Mass.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Mass.g.cs
@@ -673,13 +673,18 @@ public static MassUnit ParseUnit(string str, IFormatProvider formatProvider = nu
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Kilogram
+ ///
+ public static MassUnit ToStringDefaultUnit { get; set; } = MassUnit.Kilogram;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(MassUnit.Kilogram);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/MassFlow.g.cs b/UnitsNet/GeneratedCode/UnitClasses/MassFlow.g.cs
index 2d0faf105e..79ea970d28 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/MassFlow.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/MassFlow.g.cs
@@ -533,13 +533,18 @@ public static MassFlowUnit ParseUnit(string str, IFormatProvider formatProvider
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is GramPerSecond
+ ///
+ public static MassFlowUnit ToStringDefaultUnit { get; set; } = MassFlowUnit.GramPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(MassFlowUnit.GramPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Power.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Power.g.cs
index 8c88158567..a23d1db5f2 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Power.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Power.g.cs
@@ -653,13 +653,18 @@ public static PowerUnit ParseUnit(string str, IFormatProvider formatProvider = n
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Watt
+ ///
+ public static PowerUnit ToStringDefaultUnit { get; set; } = PowerUnit.Watt;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(PowerUnit.Watt);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/PowerRatio.g.cs b/UnitsNet/GeneratedCode/UnitClasses/PowerRatio.g.cs
index 607ee46d94..e74ad6ff08 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/PowerRatio.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/PowerRatio.g.cs
@@ -381,13 +381,18 @@ public static PowerRatioUnit ParseUnit(string str, IFormatProvider formatProvide
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is DecibelWatt
+ ///
+ public static PowerRatioUnit ToStringDefaultUnit { get; set; } = PowerRatioUnit.DecibelWatt;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(PowerRatioUnit.DecibelWatt);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Pressure.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Pressure.g.cs
index 1d6531cd75..88057cb0e3 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Pressure.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Pressure.g.cs
@@ -993,13 +993,18 @@ public static PressureUnit ParseUnit(string str, IFormatProvider formatProvider
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Pascal
+ ///
+ public static PressureUnit ToStringDefaultUnit { get; set; } = PressureUnit.Pascal;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(PressureUnit.Pascal);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/PressureChangeRate.g.cs b/UnitsNet/GeneratedCode/UnitClasses/PressureChangeRate.g.cs
index ab502194ae..13cc2bde4a 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/PressureChangeRate.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/PressureChangeRate.g.cs
@@ -413,13 +413,18 @@ public static PressureChangeRateUnit ParseUnit(string str, IFormatProvider forma
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is PascalPerSecond
+ ///
+ public static PressureChangeRateUnit ToStringDefaultUnit { get; set; } = PressureChangeRateUnit.PascalPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(PressureChangeRateUnit.PascalPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Ratio.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Ratio.g.cs
index d981186fee..00db256403 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Ratio.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Ratio.g.cs
@@ -453,13 +453,18 @@ public static RatioUnit ParseUnit(string str, IFormatProvider formatProvider = n
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is DecimalFraction
+ ///
+ public static RatioUnit ToStringDefaultUnit { get; set; } = RatioUnit.DecimalFraction;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(RatioUnit.DecimalFraction);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/RotationalSpeed.g.cs b/UnitsNet/GeneratedCode/UnitClasses/RotationalSpeed.g.cs
index 7a06a8b558..f818695f20 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/RotationalSpeed.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/RotationalSpeed.g.cs
@@ -493,13 +493,18 @@ public static RotationalSpeedUnit ParseUnit(string str, IFormatProvider formatPr
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is RadianPerSecond
+ ///
+ public static RotationalSpeedUnit ToStringDefaultUnit { get; set; } = RotationalSpeedUnit.RadianPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(RotationalSpeedUnit.RadianPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/SpecificEnergy.g.cs b/UnitsNet/GeneratedCode/UnitClasses/SpecificEnergy.g.cs
index 39099ca08d..1c28a48375 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/SpecificEnergy.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/SpecificEnergy.g.cs
@@ -493,13 +493,18 @@ public static SpecificEnergyUnit ParseUnit(string str, IFormatProvider formatPro
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is JoulePerKilogram
+ ///
+ public static SpecificEnergyUnit ToStringDefaultUnit { get; set; } = SpecificEnergyUnit.JoulePerKilogram;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(SpecificEnergyUnit.JoulePerKilogram);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/SpecificWeight.g.cs b/UnitsNet/GeneratedCode/UnitClasses/SpecificWeight.g.cs
index 9c3420821c..77901424d9 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/SpecificWeight.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/SpecificWeight.g.cs
@@ -653,13 +653,18 @@ public static SpecificWeightUnit ParseUnit(string str, IFormatProvider formatPro
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is NewtonPerCubicMeter
+ ///
+ public static SpecificWeightUnit ToStringDefaultUnit { get; set; } = SpecificWeightUnit.NewtonPerCubicMeter;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(SpecificWeightUnit.NewtonPerCubicMeter);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs
index b26772f673..989ae5eaba 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs
@@ -573,13 +573,18 @@ public static SpeedUnit ParseUnit(string str, IFormatProvider formatProvider = n
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is MeterPerSecond
+ ///
+ public static SpeedUnit ToStringDefaultUnit { get; set; } = SpeedUnit.MeterPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(SpeedUnit.MeterPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Temperature.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Temperature.g.cs
index c6cdbfebee..c6e437c5b4 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Temperature.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Temperature.g.cs
@@ -493,13 +493,18 @@ public static TemperatureUnit ParseUnit(string str, IFormatProvider formatProvid
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is Kelvin
+ ///
+ public static TemperatureUnit ToStringDefaultUnit { get; set; } = TemperatureUnit.Kelvin;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(TemperatureUnit.Kelvin);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs b/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs
index cdbbc6777d..798bd9bc70 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs
@@ -513,13 +513,18 @@ public static TemperatureChangeRateUnit ParseUnit(string str, IFormatProvider fo
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is DegreeCelsiusPerSecond
+ ///
+ public static TemperatureChangeRateUnit ToStringDefaultUnit { get; set; } = TemperatureChangeRateUnit.DegreeCelsiusPerSecond;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(TemperatureChangeRateUnit.DegreeCelsiusPerSecond);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Torque.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Torque.g.cs
index 9db32f4dac..63a0344b56 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Torque.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Torque.g.cs
@@ -653,13 +653,18 @@ public static TorqueUnit ParseUnit(string str, IFormatProvider formatProvider =
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is NewtonMeter
+ ///
+ public static TorqueUnit ToStringDefaultUnit { get; set; } = TorqueUnit.NewtonMeter;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(TorqueUnit.NewtonMeter);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/VitaminA.g.cs b/UnitsNet/GeneratedCode/UnitClasses/VitaminA.g.cs
index 9fd638199d..6521795793 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/VitaminA.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/VitaminA.g.cs
@@ -353,13 +353,18 @@ public static VitaminAUnit ParseUnit(string str, IFormatProvider formatProvider
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is InternationalUnit
+ ///
+ public static VitaminAUnit ToStringDefaultUnit { get; set; } = VitaminAUnit.InternationalUnit;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(VitaminAUnit.InternationalUnit);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
index 53d824909f..335c8af90c 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
@@ -110,6 +110,14 @@ public double CubicMeters
get { return _cubicMeters; }
}
+ ///
+ /// Get Volume in CubicMicrometers.
+ ///
+ public double CubicMicrometers
+ {
+ get { return _cubicMeters*1e18; }
+ }
+
///
/// Get Volume in CubicMiles.
///
@@ -303,6 +311,14 @@ public static Volume FromCubicMeters(double cubicmeters)
return new Volume(cubicmeters);
}
+ ///
+ /// Get Volume from CubicMicrometers.
+ ///
+ public static Volume FromCubicMicrometers(double cubicmicrometers)
+ {
+ return new Volume(cubicmicrometers/1e18);
+ }
+
///
/// Get Volume from CubicMiles.
///
@@ -456,6 +472,8 @@ public static Volume From(double value, VolumeUnit fromUnit)
return FromCubicKilometers(value);
case VolumeUnit.CubicMeter:
return FromCubicMeters(value);
+ case VolumeUnit.CubicMicrometer:
+ return FromCubicMicrometers(value);
case VolumeUnit.CubicMile:
return FromCubicMiles(value);
case VolumeUnit.CubicMillimeter:
@@ -635,6 +653,8 @@ public double As(VolumeUnit unit)
return CubicKilometers;
case VolumeUnit.CubicMeter:
return CubicMeters;
+ case VolumeUnit.CubicMicrometer:
+ return CubicMicrometers;
case VolumeUnit.CubicMile:
return CubicMiles;
case VolumeUnit.CubicMillimeter:
@@ -793,13 +813,18 @@ public static VolumeUnit ParseUnit(string str, IFormatProvider formatProvider =
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is CubicMeter
+ ///
+ public static VolumeUnit ToStringDefaultUnit { get; set; } = VolumeUnit.CubicMeter;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString(VolumeUnit.CubicMeter);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
index 34f44e565c..36d0f6fe45 100644
--- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
+++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
@@ -1911,6 +1911,12 @@ private static readonly ReadOnlyCollection DefaultLocalization
new AbbreviationsForCulture("en-US", "m³"),
new AbbreviationsForCulture("ru-RU", "м³"),
}),
+ new CulturesForEnumValue((int) VolumeUnit.CubicMicrometer,
+ new[]
+ {
+ new AbbreviationsForCulture("en-US", "µm³"),
+ new AbbreviationsForCulture("ru-RU", "мкм³"),
+ }),
new CulturesForEnumValue((int) VolumeUnit.CubicMile,
new[]
{
diff --git a/UnitsNet/Scripts/Include-GenerateUnitClassSourceCode.ps1 b/UnitsNet/Scripts/Include-GenerateUnitClassSourceCode.ps1
index 211c3dece8..3e0bfb2d69 100644
--- a/UnitsNet/Scripts/Include-GenerateUnitClassSourceCode.ps1
+++ b/UnitsNet/Scripts/Include-GenerateUnitClassSourceCode.ps1
@@ -386,13 +386,18 @@ namespace UnitsNet
#endregion
+ ///
+ /// Set the default unit used by ToString(). Default is $baseUnitSingularName
+ ///
+ public static $unitEnumName ToStringDefaultUnit { get; set; } = $unitEnumName.$baseUnitSingularName;
+
///
/// Get default string representation of value and unit.
///
/// String representation.
public override string ToString()
{
- return ToString($unitEnumName.$baseUnitSingularName);
+ return ToString(ToStringDefaultUnit);
}
///
diff --git a/UnitsNet/Scripts/Include-GenerateUnitTestBaseClassSourceCode.ps1 b/UnitsNet/Scripts/Include-GenerateUnitTestBaseClassSourceCode.ps1
index 4d707f64df..3eadcdfb21 100644
--- a/UnitsNet/Scripts/Include-GenerateUnitTestBaseClassSourceCode.ps1
+++ b/UnitsNet/Scripts/Include-GenerateUnitTestBaseClassSourceCode.ps1
@@ -197,4 +197,4 @@ namespace UnitsNet.Tests
}
}
"@;
-}
\ No newline at end of file
+}
diff --git a/UnitsNet/Scripts/UnitDefinitions/Volume.json b/UnitsNet/Scripts/UnitDefinitions/Volume.json
index 2f191efcb9..f1a49ec419 100644
--- a/UnitsNet/Scripts/UnitDefinitions/Volume.json
+++ b/UnitsNet/Scripts/UnitDefinitions/Volume.json
@@ -101,6 +101,22 @@
}
]
},
+ {
+ "SingularName": "CubicMicrometer",
+ "PluralName": "CubicMicrometers",
+ "FromUnitToBaseFunc": "x/1e18",
+ "FromBaseToUnitFunc": "x*1e18",
+ "Localization": [
+ {
+ "Culture": "en-US",
+ "Abbreviations": ["µm³"]
+ },
+ {
+ "Culture": "ru-RU",
+ "Abbreviations": ["мкм³"]
+ }
+ ]
+ },
{
"SingularName": "CubicMile",
"PluralName": "CubicMiles",
@@ -287,10 +303,10 @@
"FromUnitToBaseFunc": "x*0.0002365882365",
"FromBaseToUnitFunc": "x/0.0002365882365",
"Localization": [
- {
- "Culture": "en-US",
- "Abbreviations": []
- }
+ {
+ "Culture": "en-US",
+ "Abbreviations": [ ]
+ }
]
},
{