Skip to content

Commit 108d44a

Browse files
committed
Merge remote-tracking branch 'origin/master' into release/v6
# Conflicts: # CodeGen/CodeGen.csproj # CodeGen/Generators/NanoFrameworkGen/NuspecGenerator.cs # CodeGen/Generators/UnitsNetGen/UnitTestBaseClassGenerator.cs # Common/UnitEnumValues.g.json # UnitsNet.Benchmark/UnitsNet.Benchmark.csproj # UnitsNet.NanoFramework/GeneratedCode/AbsorbedDoseOfIonizingRadiation/UnitsNet.NanoFramework.AbsorbedDoseOfIonizingRadiation.nuspec # UnitsNet.NanoFramework/GeneratedCode/Acceleration/UnitsNet.NanoFramework.Acceleration.nuspec # UnitsNet.NanoFramework/GeneratedCode/AmountOfSubstance/UnitsNet.NanoFramework.AmountOfSubstance.nuspec # UnitsNet.NanoFramework/GeneratedCode/AmplitudeRatio/UnitsNet.NanoFramework.AmplitudeRatio.nuspec # UnitsNet.NanoFramework/GeneratedCode/Angle/UnitsNet.NanoFramework.Angle.nuspec # UnitsNet.NanoFramework/GeneratedCode/ApparentEnergy/UnitsNet.NanoFramework.ApparentEnergy.nuspec # UnitsNet.NanoFramework/GeneratedCode/ApparentPower/UnitsNet.NanoFramework.ApparentPower.nuspec # UnitsNet.NanoFramework/GeneratedCode/Area/UnitsNet.NanoFramework.Area.nuspec # UnitsNet.NanoFramework/GeneratedCode/AreaDensity/UnitsNet.NanoFramework.AreaDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/AreaMomentOfInertia/UnitsNet.NanoFramework.AreaMomentOfInertia.nuspec # UnitsNet.NanoFramework/GeneratedCode/BitRate/UnitsNet.NanoFramework.BitRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/BrakeSpecificFuelConsumption/UnitsNet.NanoFramework.BrakeSpecificFuelConsumption.nuspec # UnitsNet.NanoFramework/GeneratedCode/Capacitance/UnitsNet.NanoFramework.Capacitance.nuspec # UnitsNet.NanoFramework/GeneratedCode/CoefficientOfThermalExpansion/UnitsNet.NanoFramework.CoefficientOfThermalExpansion.nuspec # UnitsNet.NanoFramework/GeneratedCode/Compressibility/UnitsNet.NanoFramework.Compressibility.nuspec # UnitsNet.NanoFramework/GeneratedCode/Density/UnitsNet.NanoFramework.Density.nuspec # UnitsNet.NanoFramework/GeneratedCode/Duration/UnitsNet.NanoFramework.Duration.nuspec # UnitsNet.NanoFramework/GeneratedCode/DynamicViscosity/UnitsNet.NanoFramework.DynamicViscosity.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricAdmittance/UnitsNet.NanoFramework.ElectricAdmittance.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricCharge/UnitsNet.NanoFramework.ElectricCharge.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricChargeDensity/UnitsNet.NanoFramework.ElectricChargeDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricConductance/UnitsNet.NanoFramework.ElectricConductance.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricConductivity/UnitsNet.NanoFramework.ElectricConductivity.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricCurrent/UnitsNet.NanoFramework.ElectricCurrent.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricCurrentDensity/UnitsNet.NanoFramework.ElectricCurrentDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricCurrentGradient/UnitsNet.NanoFramework.ElectricCurrentGradient.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricField/UnitsNet.NanoFramework.ElectricField.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricInductance/UnitsNet.NanoFramework.ElectricInductance.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricPotential/UnitsNet.NanoFramework.ElectricPotential.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricPotentialAc/UnitsNet.NanoFramework.ElectricPotentialAc.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricPotentialChangeRate/UnitsNet.NanoFramework.ElectricPotentialChangeRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricPotentialDc/UnitsNet.NanoFramework.ElectricPotentialDc.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricResistance/UnitsNet.NanoFramework.ElectricResistance.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricResistivity/UnitsNet.NanoFramework.ElectricResistivity.nuspec # UnitsNet.NanoFramework/GeneratedCode/ElectricSurfaceChargeDensity/UnitsNet.NanoFramework.ElectricSurfaceChargeDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/Energy/UnitsNet.NanoFramework.Energy.nuspec # UnitsNet.NanoFramework/GeneratedCode/EnergyDensity/UnitsNet.NanoFramework.EnergyDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/Entropy/UnitsNet.NanoFramework.Entropy.nuspec # UnitsNet.NanoFramework/GeneratedCode/Force/UnitsNet.NanoFramework.Force.nuspec # UnitsNet.NanoFramework/GeneratedCode/ForceChangeRate/UnitsNet.NanoFramework.ForceChangeRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/ForcePerLength/UnitsNet.NanoFramework.ForcePerLength.nuspec # UnitsNet.NanoFramework/GeneratedCode/Frequency/UnitsNet.NanoFramework.Frequency.nuspec # UnitsNet.NanoFramework/GeneratedCode/FuelEfficiency/UnitsNet.NanoFramework.FuelEfficiency.nuspec # UnitsNet.NanoFramework/GeneratedCode/HeatFlux/UnitsNet.NanoFramework.HeatFlux.nuspec # UnitsNet.NanoFramework/GeneratedCode/HeatTransferCoefficient/UnitsNet.NanoFramework.HeatTransferCoefficient.nuspec # UnitsNet.NanoFramework/GeneratedCode/Illuminance/UnitsNet.NanoFramework.Illuminance.nuspec # UnitsNet.NanoFramework/GeneratedCode/Impulse/UnitsNet.NanoFramework.Impulse.nuspec # UnitsNet.NanoFramework/GeneratedCode/Information/UnitsNet.NanoFramework.Information.nuspec # UnitsNet.NanoFramework/GeneratedCode/Irradiance/UnitsNet.NanoFramework.Irradiance.nuspec # UnitsNet.NanoFramework/GeneratedCode/Irradiation/UnitsNet.NanoFramework.Irradiation.nuspec # UnitsNet.NanoFramework/GeneratedCode/Jerk/UnitsNet.NanoFramework.Jerk.nuspec # UnitsNet.NanoFramework/GeneratedCode/KinematicViscosity/UnitsNet.NanoFramework.KinematicViscosity.nuspec # UnitsNet.NanoFramework/GeneratedCode/LapseRate/UnitsNet.NanoFramework.LapseRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/LeakRate/UnitsNet.NanoFramework.LeakRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/Length/UnitsNet.NanoFramework.Length.nuspec # UnitsNet.NanoFramework/GeneratedCode/Level/UnitsNet.NanoFramework.Level.nuspec # UnitsNet.NanoFramework/GeneratedCode/LinearDensity/UnitsNet.NanoFramework.LinearDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/LinearPowerDensity/UnitsNet.NanoFramework.LinearPowerDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/Luminance/UnitsNet.NanoFramework.Luminance.nuspec # UnitsNet.NanoFramework/GeneratedCode/Luminosity/UnitsNet.NanoFramework.Luminosity.nuspec # UnitsNet.NanoFramework/GeneratedCode/LuminousFlux/UnitsNet.NanoFramework.LuminousFlux.nuspec # UnitsNet.NanoFramework/GeneratedCode/LuminousIntensity/UnitsNet.NanoFramework.LuminousIntensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/MagneticField/UnitsNet.NanoFramework.MagneticField.nuspec # UnitsNet.NanoFramework/GeneratedCode/MagneticFlux/UnitsNet.NanoFramework.MagneticFlux.nuspec # UnitsNet.NanoFramework/GeneratedCode/Magnetization/UnitsNet.NanoFramework.Magnetization.nuspec # UnitsNet.NanoFramework/GeneratedCode/Mass/UnitsNet.NanoFramework.Mass.nuspec # UnitsNet.NanoFramework/GeneratedCode/MassConcentration/UnitsNet.NanoFramework.MassConcentration.nuspec # UnitsNet.NanoFramework/GeneratedCode/MassFlow/UnitsNet.NanoFramework.MassFlow.nuspec # UnitsNet.NanoFramework/GeneratedCode/MassFlux/UnitsNet.NanoFramework.MassFlux.nuspec # UnitsNet.NanoFramework/GeneratedCode/MassFraction/UnitsNet.NanoFramework.MassFraction.nuspec # UnitsNet.NanoFramework/GeneratedCode/MassMomentOfInertia/UnitsNet.NanoFramework.MassMomentOfInertia.nuspec # UnitsNet.NanoFramework/GeneratedCode/Molality/UnitsNet.NanoFramework.Molality.nuspec # UnitsNet.NanoFramework/GeneratedCode/MolarEnergy/UnitsNet.NanoFramework.MolarEnergy.nuspec # UnitsNet.NanoFramework/GeneratedCode/MolarEntropy/UnitsNet.NanoFramework.MolarEntropy.nuspec # UnitsNet.NanoFramework/GeneratedCode/MolarFlow/UnitsNet.NanoFramework.MolarFlow.nuspec # UnitsNet.NanoFramework/GeneratedCode/MolarMass/UnitsNet.NanoFramework.MolarMass.nuspec # UnitsNet.NanoFramework/GeneratedCode/Molarity/UnitsNet.NanoFramework.Molarity.nuspec # UnitsNet.NanoFramework/GeneratedCode/Permeability/UnitsNet.NanoFramework.Permeability.nuspec # UnitsNet.NanoFramework/GeneratedCode/Permittivity/UnitsNet.NanoFramework.Permittivity.nuspec # UnitsNet.NanoFramework/GeneratedCode/PorousMediumPermeability/UnitsNet.NanoFramework.PorousMediumPermeability.nuspec # UnitsNet.NanoFramework/GeneratedCode/Power/UnitsNet.NanoFramework.Power.nuspec # UnitsNet.NanoFramework/GeneratedCode/PowerDensity/UnitsNet.NanoFramework.PowerDensity.nuspec # UnitsNet.NanoFramework/GeneratedCode/PowerRatio/UnitsNet.NanoFramework.PowerRatio.nuspec # UnitsNet.NanoFramework/GeneratedCode/Pressure/UnitsNet.NanoFramework.Pressure.nuspec # UnitsNet.NanoFramework/GeneratedCode/PressureChangeRate/UnitsNet.NanoFramework.PressureChangeRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/Properties/AssemblyInfo.cs # UnitsNet.NanoFramework/GeneratedCode/Quantities/RadiationEquivalentDoseRate.g.cs # UnitsNet.NanoFramework/GeneratedCode/RadiationEquivalentDose/UnitsNet.NanoFramework.RadiationEquivalentDose.nuspec # UnitsNet.NanoFramework/GeneratedCode/RadiationEquivalentDoseRate/UnitsNet.NanoFramework.RadiationEquivalentDoseRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/RadiationExposure/UnitsNet.NanoFramework.RadiationExposure.nuspec # UnitsNet.NanoFramework/GeneratedCode/Radioactivity/UnitsNet.NanoFramework.Radioactivity.nuspec # UnitsNet.NanoFramework/GeneratedCode/Ratio/UnitsNet.NanoFramework.Ratio.nuspec # UnitsNet.NanoFramework/GeneratedCode/RatioChangeRate/UnitsNet.NanoFramework.RatioChangeRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/ReactiveEnergy/UnitsNet.NanoFramework.ReactiveEnergy.nuspec # UnitsNet.NanoFramework/GeneratedCode/ReactivePower/UnitsNet.NanoFramework.ReactivePower.nuspec # UnitsNet.NanoFramework/GeneratedCode/ReciprocalArea/UnitsNet.NanoFramework.ReciprocalArea.nuspec # UnitsNet.NanoFramework/GeneratedCode/ReciprocalLength/UnitsNet.NanoFramework.ReciprocalLength.nuspec # UnitsNet.NanoFramework/GeneratedCode/RelativeHumidity/UnitsNet.NanoFramework.RelativeHumidity.nuspec # UnitsNet.NanoFramework/GeneratedCode/RotationalAcceleration/UnitsNet.NanoFramework.RotationalAcceleration.nuspec # UnitsNet.NanoFramework/GeneratedCode/RotationalSpeed/UnitsNet.NanoFramework.RotationalSpeed.nuspec # UnitsNet.NanoFramework/GeneratedCode/RotationalStiffness/UnitsNet.NanoFramework.RotationalStiffness.nuspec # UnitsNet.NanoFramework/GeneratedCode/RotationalStiffnessPerLength/UnitsNet.NanoFramework.RotationalStiffnessPerLength.nuspec # UnitsNet.NanoFramework/GeneratedCode/Scalar/UnitsNet.NanoFramework.Scalar.nuspec # UnitsNet.NanoFramework/GeneratedCode/SolidAngle/UnitsNet.NanoFramework.SolidAngle.nuspec # UnitsNet.NanoFramework/GeneratedCode/SpecificEnergy/UnitsNet.NanoFramework.SpecificEnergy.nuspec # UnitsNet.NanoFramework/GeneratedCode/SpecificEntropy/UnitsNet.NanoFramework.SpecificEntropy.nuspec # UnitsNet.NanoFramework/GeneratedCode/SpecificFuelConsumption/UnitsNet.NanoFramework.SpecificFuelConsumption.nuspec # UnitsNet.NanoFramework/GeneratedCode/SpecificVolume/UnitsNet.NanoFramework.SpecificVolume.nuspec # UnitsNet.NanoFramework/GeneratedCode/SpecificWeight/UnitsNet.NanoFramework.SpecificWeight.nuspec # UnitsNet.NanoFramework/GeneratedCode/Speed/UnitsNet.NanoFramework.Speed.nuspec # UnitsNet.NanoFramework/GeneratedCode/StandardVolumeFlow/UnitsNet.NanoFramework.StandardVolumeFlow.nuspec # UnitsNet.NanoFramework/GeneratedCode/Temperature/UnitsNet.NanoFramework.Temperature.nuspec # UnitsNet.NanoFramework/GeneratedCode/TemperatureChangeRate/UnitsNet.NanoFramework.TemperatureChangeRate.nuspec # UnitsNet.NanoFramework/GeneratedCode/TemperatureDelta/UnitsNet.NanoFramework.TemperatureDelta.nuspec # UnitsNet.NanoFramework/GeneratedCode/TemperatureGradient/UnitsNet.NanoFramework.TemperatureGradient.nuspec # UnitsNet.NanoFramework/GeneratedCode/ThermalConductivity/UnitsNet.NanoFramework.ThermalConductivity.nuspec # UnitsNet.NanoFramework/GeneratedCode/ThermalInsulance/UnitsNet.NanoFramework.ThermalInsulance.nuspec # UnitsNet.NanoFramework/GeneratedCode/Torque/UnitsNet.NanoFramework.Torque.nuspec # UnitsNet.NanoFramework/GeneratedCode/Turbidity/UnitsNet.NanoFramework.Turbidity.nuspec # UnitsNet.NanoFramework/GeneratedCode/VitaminA/UnitsNet.NanoFramework.VitaminA.nuspec # UnitsNet.NanoFramework/GeneratedCode/Volume/UnitsNet.NanoFramework.Volume.nuspec # UnitsNet.NanoFramework/GeneratedCode/VolumeConcentration/UnitsNet.NanoFramework.VolumeConcentration.nuspec # UnitsNet.NanoFramework/GeneratedCode/VolumeFlow/UnitsNet.NanoFramework.VolumeFlow.nuspec # UnitsNet.NanoFramework/GeneratedCode/VolumeFlowPerArea/UnitsNet.NanoFramework.VolumeFlowPerArea.nuspec # UnitsNet.NanoFramework/GeneratedCode/VolumePerLength/UnitsNet.NanoFramework.VolumePerLength.nuspec # UnitsNet.NanoFramework/GeneratedCode/VolumetricHeatCapacity/UnitsNet.NanoFramework.VolumetricHeatCapacity.nuspec # UnitsNet.NanoFramework/GeneratedCode/WarpingMomentOfInertia/UnitsNet.NanoFramework.WarpingMomentOfInertia.nuspec # UnitsNet.NumberExtensions.Tests/UnitsNet.NumberExtensions.Tests.csproj # UnitsNet.NumberExtensions/GeneratedCode/NumberToApparentEnergyExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToApparentPowerExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToCapacitanceExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToElectricAdmittanceExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToElectricConductanceExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToElectricPotentialAcExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToElectricPotentialDcExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToElectricResistanceExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToRadiationEquivalentDoseRateExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToReactiveEnergyExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToReactivePowerExtensions.g.cs # UnitsNet.NumberExtensions/GeneratedCode/NumberToTemperatureChangeRateExtensions.g.cs # UnitsNet.NumberExtensions/UnitsNet.NumberExtensions.csproj # UnitsNet.Serialization.JsonNet.Tests/UnitsNet.Serialization.JsonNet.Tests.csproj # UnitsNet.Serialization.JsonNet/UnitsNet.Serialization.JsonNet.csproj # UnitsNet.Tests/CustomCode/RadiationEquivalentDoseRateTests.cs # UnitsNet.Tests/CustomCode/RadiationEquivalentDoseTests.cs # UnitsNet.Tests/GeneratedCode/TestsBase/AngleTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/BitRateTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/CoefficientOfThermalExpansionTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/DensityTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/DynamicViscosityTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/ElectricAdmittanceTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/ElectricConductanceTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/ElectricResistanceTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/FuelEfficiencyTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/HeatFluxTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/HeatTransferCoefficientTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/InformationTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/MassConcentrationTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/MolarityTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/PowerTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/RadiationEquivalentDoseRateTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/SpecificEntropyTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/TemperatureChangeRateTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/ThermalConductivityTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/ThermalResistanceTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/TorquePerLengthTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/VolumeConcentrationTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/VolumeFlowTestsBase.g.cs # UnitsNet.Tests/GeneratedCode/TestsBase/VolumetricHeatCapacityTestsBase.g.cs # UnitsNet.Tests/UnitAbbreviationsCacheTests.cs # UnitsNet.Tests/UnitsNet.Tests.csproj # UnitsNet/CustomCode/Quantities/Power.extra.cs # UnitsNet/CustomCode/UnitParser.cs # UnitsNet/GeneratedCode/Quantities/RadiationEquivalentDoseRate.g.cs # UnitsNet/GeneratedCode/Quantities/ThermalInsulance.g.cs # UnitsNet/GeneratedCode/Quantities/TorquePerLength.g.cs # UnitsNet/QuantityFormatter.cs # UnitsNet/UnitsNet.csproj
2 parents 8164326 + bb1420e commit 108d44a

File tree

213 files changed

+27169
-160
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+27169
-160
lines changed

.github/workflows/continious-benchmarking.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
uses: actions/[email protected]
6969

7070
- name: Download Artifacts # The benchmark results are downloaded into a 'runtime' folder.
71-
uses: actions/download-artifact@v1
71+
uses: actions/download-artifact@v4.1.7
7272
with:
7373
name: UnitsNet Benchmarks (${{ matrix.runtime }})
7474
path: ${{ matrix.runtime }}

.github/workflows/run-benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898

9999
# The benchmark results are downloaded into a 'runtime' folder.
100100
- name: Download Artifacts
101-
uses: actions/download-artifact@v1
101+
uses: actions/download-artifact@v4.1.7
102102
with:
103103
name: ${{ github.event.inputs.benchmark-name }} (${{ github.event.inputs.runtimes }})
104104
path: results

CodeGen/Generators/UnitsNetGen/NumberExtensionsGenerator.cs

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,11 @@
33

44
namespace CodeGen.Generators.UnitsNetGen
55
{
6-
internal class NumberExtensionsGenerator : GeneratorBase
6+
internal class NumberExtensionsGenerator(Quantity quantity) : GeneratorBase
77
{
8-
private readonly Unit[] _units;
9-
private readonly string _quantityName;
10-
11-
public NumberExtensionsGenerator(Quantity quantity)
12-
{
13-
if (quantity is null)
14-
throw new ArgumentNullException(nameof(quantity));
15-
16-
_units = quantity.Units;
17-
_quantityName = quantity.Name;
18-
}
8+
private readonly Quantity _quantity = quantity ?? throw new ArgumentNullException(nameof(quantity));
9+
private readonly Unit[] _units = quantity.Units;
10+
private readonly string _quantityName = quantity.Name;
1911

2012
public string Generate()
2113
{
@@ -35,7 +27,10 @@ namespace UnitsNet.NumberExtensions.NumberTo{_quantityName}
3527
{{
3628
/// <summary>
3729
/// A number to {_quantityName} Extensions
38-
/// </summary>
30+
/// </summary>");
31+
32+
Writer.WLIfText(1, GetObsoleteAttributeOrNull(_quantity));
33+
Writer.WL(@$"
3934
public static class NumberTo{_quantityName}Extensions
4035
{{");
4136

@@ -47,7 +42,8 @@ public static class NumberTo{_quantityName}Extensions
4742
Writer.WL(2, $@"
4843
/// <inheritdoc cref=""{_quantityName}.From{unit.PluralName}(double)"" />");
4944

50-
Writer.WLIfText(2, GetObsoleteAttributeOrNull(unit.ObsoleteText));
45+
// Include obsolete text from the quantity per extension method, to make it visible when the class is not explicitly referenced in code.
46+
Writer.WLIfText(2, GetObsoleteAttributeOrNull(unit.ObsoleteText ?? _quantity.ObsoleteText));
5147

5248
Writer.WL(2, $@"public static {_quantityName} {unit.PluralName}<T>(this T value)
5349
where T : notnull
@@ -63,6 +59,9 @@ public static class NumberTo{_quantityName}Extensions
6359
return Writer.ToString();
6460
}
6561

62+
/// <inheritdoc cref="GetObsoleteAttributeOrNull(string)"/>
63+
private static string? GetObsoleteAttributeOrNull(Quantity quantity) => GetObsoleteAttributeOrNull(quantity.ObsoleteText);
64+
6665
private static string? GetObsoleteAttributeOrNull(string? obsoleteText) =>
6766
string.IsNullOrWhiteSpace(obsoleteText) ?
6867
null :

Common/UnitDefinitions/ApparentEnergy.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"Name": "ApparentEnergy",
33
"BaseUnit": "VoltampereHour",
44
"XmlDocSummary": "A unit for expressing the integral of apparent power over time, equal to the product of 1 volt-ampere and 1 hour, or to 3600 joules.",
5+
"XmlDocRemarks": "<c>ApparentEnergy</c> has been renamed to <c>ElectricApparentEnergy</c>, and will be removed in a later major version.",
6+
"ObsoleteText": "ApparentEnergy has been renamed to ElectricApparentEnergy, and will be removed in a later major version.",
57
"BaseDimensions": {
68
"L": 2,
79
"M": 1,

Common/UnitDefinitions/ApparentPower.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"Name": "ApparentPower",
33
"BaseUnit": "Voltampere",
44
"XmlDocSummary": "Power engineers measure apparent power as the magnitude of the vector sum of active and reactive power. Apparent power is the product of the root-mean-square of voltage and current.",
5+
"XmlDocRemarks": "<c>ApparentPower</c> has been renamed to <c>ElectricApparentPower</c>, and will be removed in a later major version.",
6+
"ObsoleteText": "ApparentPower has been renamed to ElectricApparentPower, and will be removed in a later major version.",
57
"BaseDimensions": {
68
"L": 2,
79
"M": 1,

Common/UnitDefinitions/Capacitance.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"Name": "Capacitance",
33
"BaseUnit": "Farad",
44
"XmlDocSummary": "Capacitance is the ability of a body to store an electric charge.",
5-
"XmlDocRemarks": "https://en.wikipedia.org/wiki/Capacitance",
5+
"XmlDocRemarks": "<c>Capacitance</c> has been renamed to <c>ElectricCapacitance</c>, and will be removed in a later major version.",
6+
"ObsoleteText": "Capacitance has been renamed to ElectricCapacitance, and will be removed in a later major version.",
67
"BaseDimensions": {
78
"L": -2,
89
"M": -1,
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
{
2+
"Name": "DoseAreaProduct",
3+
"BaseUnit": "GraySquareMeter",
4+
"XmlDocSummary": "It is defined as the absorbed dose multiplied by the area irradiated.",
5+
"XmlDocRemarks": "https://en.wikipedia.org/wiki/Dose_area_product",
6+
"BaseDimensions": {
7+
"L": 4,
8+
"T": -2
9+
},
10+
"Units": [
11+
{
12+
"SingularName": "GraySquareMeter",
13+
"PluralName": "GraySquareMeters",
14+
"BaseUnits": {
15+
"L": "Meter",
16+
"T": "Second"
17+
},
18+
"FromUnitToBaseFunc": "{x}",
19+
"FromBaseToUnitFunc": "{x}",
20+
"Prefixes": [
21+
"Micro",
22+
"Milli",
23+
"Centi",
24+
"Deci"
25+
],
26+
"Localization": [
27+
{
28+
"Culture": "en-US",
29+
"Abbreviations": [
30+
"Gy·m²"
31+
]
32+
},
33+
{
34+
"Culture": "ru-RU",
35+
"Abbreviations": [
36+
"Гр·м²"
37+
]
38+
}
39+
]
40+
},
41+
{
42+
"SingularName": "GraySquareDecimeter",
43+
"PluralName": "GraySquareDecimeters",
44+
"FromUnitToBaseFunc": "{x} / 100",
45+
"FromBaseToUnitFunc": "{x} * 100",
46+
"Prefixes": [
47+
"Micro",
48+
"Milli",
49+
"Centi",
50+
"Deci"
51+
],
52+
"Localization": [
53+
{
54+
"Culture": "en-US",
55+
"Abbreviations": [
56+
"Gy·dm²"
57+
]
58+
},
59+
{
60+
"Culture": "ru-RU",
61+
"Abbreviations": [
62+
"Гр·дм²"
63+
]
64+
}
65+
]
66+
},
67+
{
68+
"SingularName": "GraySquareCentimeter",
69+
"PluralName": "GraySquareCentimeters",
70+
"FromUnitToBaseFunc": "{x} / 10000",
71+
"FromBaseToUnitFunc": "{x} * 10000",
72+
"Prefixes": [
73+
"Micro",
74+
"Milli",
75+
"Centi",
76+
"Deci"
77+
],
78+
"Localization": [
79+
{
80+
"Culture": "en-US",
81+
"Abbreviations": [
82+
"Gy·cm²"
83+
]
84+
},
85+
{
86+
"Culture": "ru-RU",
87+
"Abbreviations": [
88+
"Гр·см²"
89+
]
90+
}
91+
]
92+
},
93+
{
94+
"SingularName": "GraySquareMillimeter",
95+
"PluralName": "GraySquareMillimeters",
96+
"FromUnitToBaseFunc": "{x} / 1000000",
97+
"FromBaseToUnitFunc": "{x} * 1000000",
98+
"Prefixes": [
99+
"Micro",
100+
"Milli",
101+
"Centi",
102+
"Deci"
103+
],
104+
"Localization": [
105+
{
106+
"Culture": "en-US",
107+
"Abbreviations": [
108+
"Gy·mm²"
109+
]
110+
},
111+
{
112+
"Culture": "ru-RU",
113+
"Abbreviations": [
114+
"Гр·мм²"
115+
]
116+
}
117+
]
118+
}
119+
]
120+
}

Common/UnitDefinitions/ElectricAdmittance.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
{
22
"Name": "ElectricAdmittance",
33
"BaseUnit": "Siemens",
4-
"XmlDocSummary": "Electric admittance is a measure of how easily a circuit or device will allow a current to flow. It is defined as the inverse of impedance. The SI unit of admittance is the siemens (symbol S).",
4+
"XmlDocSummary": "Electric admittance is a measure of how easily a circuit or device will allow a current to flow by the combined effect of conductance and susceptance in a circuit. It is defined as the inverse of impedance. The SI unit of admittance is the siemens (symbol S).",
5+
"XmlDocRemarks": "https://en.wikipedia.org/wiki/Electrical_admittance",
6+
"ObsoleteText": "Admittance is a complex number, which is not currently supported by UnitsNet. Please use either ElectricConductance or ElectricSusceptance instead.",
57
"BaseDimensions": {
68
"L": -2,
79
"M": -1,
@@ -14,13 +16,26 @@
1416
"PluralName": "Siemens",
1517
"FromUnitToBaseFunc": "{x}",
1618
"FromBaseToUnitFunc": "{x}",
17-
"Prefixes": [ "Nano", "Micro", "Milli" ],
19+
"Prefixes": [ "Nano", "Micro", "Milli", "Kilo", "Mega", "Giga", "Tera" ],
1820
"Localization": [
1921
{
2022
"Culture": "en-US",
2123
"Abbreviations": [ "S" ]
2224
}
2325
]
26+
},
27+
{
28+
"SingularName": "Mho",
29+
"PluralName": "Mhos",
30+
"FromUnitToBaseFunc": "{x}",
31+
"FromBaseToUnitFunc": "{x}",
32+
"Prefixes": [ "Nano", "Micro", "Milli", "Kilo", "Mega", "Giga", "Tera" ],
33+
"Localization": [
34+
{
35+
"Culture": "en-US",
36+
"Abbreviations": [ "" ]
37+
}
38+
]
2439
}
2540
]
2641
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"Name": "ElectricApparentEnergy",
3+
"BaseUnit": "VoltampereHour",
4+
"XmlDocSummary": "A unit for expressing the integral of apparent power over time, equal to the product of 1 volt-ampere and 1 hour, or to 3600 joules.",
5+
"BaseDimensions": {
6+
"L": 2,
7+
"M": 1,
8+
"T": -2
9+
},
10+
"Units": [
11+
{
12+
"SingularName": "VoltampereHour",
13+
"PluralName": "VoltampereHours",
14+
"FromUnitToBaseFunc": "{x}",
15+
"FromBaseToUnitFunc": "{x}",
16+
"Prefixes": [ "Kilo", "Mega" ],
17+
"Localization": [
18+
{
19+
"Culture": "en-US",
20+
"Abbreviations": [ "VAh" ]
21+
}
22+
]
23+
}
24+
]
25+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"Name": "ElectricApparentPower",
3+
"BaseUnit": "Voltampere",
4+
"XmlDocSummary": "Power engineers measure apparent power as the magnitude of the vector sum of active and reactive power. It is the product of the root mean square voltage (in volts) and the root mean square current (in amperes).",
5+
"XmlDocRemarks": "https://en.wikipedia.org/wiki/AC_power#Active,_reactive,_apparent,_and_complex_power_in_sinusoidal_steady-state",
6+
"BaseDimensions": {
7+
"L": 2,
8+
"M": 1,
9+
"T": -3
10+
},
11+
"Units": [
12+
{
13+
"SingularName": "Voltampere",
14+
"PluralName": "Voltamperes",
15+
"FromUnitToBaseFunc": "{x}",
16+
"FromBaseToUnitFunc": "{x}",
17+
"Prefixes": [ "Micro", "Milli", "Kilo", "Mega", "Giga" ],
18+
"Localization": [
19+
{
20+
"Culture": "en-US",
21+
"Abbreviations": [ "VA" ]
22+
}
23+
]
24+
}
25+
]
26+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"Name": "ElectricCapacitance",
3+
"BaseUnit": "Farad",
4+
"XmlDocSummary": "Capacitance is the capacity of a material object or device to store electric charge.",
5+
"XmlDocRemarks": "https://en.wikipedia.org/wiki/Capacitance",
6+
"BaseDimensions": {
7+
"L": -2,
8+
"M": -1,
9+
"T": 4,
10+
"I": 2
11+
},
12+
"Units": [
13+
{
14+
"SingularName": "Farad",
15+
"PluralName": "Farads",
16+
"BaseUnits": {
17+
"L": "Meter",
18+
"M": "Kilogram",
19+
"T": "Second",
20+
"I": "Ampere"
21+
},
22+
"FromUnitToBaseFunc": "{x}",
23+
"FromBaseToUnitFunc": "{x}",
24+
"Prefixes": [ "Pico", "Nano", "Micro", "Milli", "Kilo", "Mega" ],
25+
"Localization": [
26+
{
27+
"Culture": "en-US",
28+
"Abbreviations": [ "F" ]
29+
}
30+
]
31+
}
32+
]
33+
}

Common/UnitDefinitions/ElectricConductance.json

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"Name": "ElectricConductance",
33
"BaseUnit": "Siemens",
4-
"XmlDocSummary": "The electrical conductance of an electrical conductor is a measure of the easeness to pass an electric current through that conductor.",
4+
"XmlDocSummary": "The electrical conductance of an object is a measure of the ease with which an electric current passes. Along with susceptance, it is one of two elements of admittance. Its reciprocal quantity is electrical resistance.",
55
"XmlDocRemarks": "https://en.wikipedia.org/wiki/Electrical_resistance_and_conductance",
66
"BaseDimensions": {
77
"L": -2,
@@ -15,13 +15,26 @@
1515
"PluralName": "Siemens",
1616
"FromUnitToBaseFunc": "{x}",
1717
"FromBaseToUnitFunc": "{x}",
18-
"Prefixes": [ "Nano", "Micro", "Milli", "Kilo" ],
18+
"Prefixes": [ "Nano", "Micro", "Milli", "Kilo", "Mega", "Giga", "Tera" ],
1919
"Localization": [
2020
{
2121
"Culture": "en-US",
2222
"Abbreviations": [ "S" ]
2323
}
2424
]
25+
},
26+
{
27+
"SingularName": "Mho",
28+
"PluralName": "Mhos",
29+
"FromUnitToBaseFunc": "{x}",
30+
"FromBaseToUnitFunc": "{x}",
31+
"Prefixes": [ "Nano", "Micro", "Milli", "Kilo", "Mega", "Giga", "Tera" ],
32+
"Localization": [
33+
{
34+
"Culture": "en-US",
35+
"Abbreviations": [ "" ]
36+
}
37+
]
2538
}
2639
]
2740
}

Common/UnitDefinitions/ElectricCurrent.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"Name": "ElectricCurrent",
33
"BaseUnit": "Ampere",
44
"XmlDocSummary": "An electric current is a flow of electric charge. In electric circuits this charge is often carried by moving electrons in a wire. It can also be carried by ions in an electrolyte, or by both ions and electrons such as in a plasma.",
5+
"XmlDocRemarks": "If you want to map more parameters into the <c>ElectricCurrent</c> class (amps RMS, phase angle, etc.), create your own wrapper type such as a record or named tuple.",
56
"BaseDimensions": {
67
"I": 1
78
},

0 commit comments

Comments
 (0)