From 30b53b111c62860823b8462726827e6e93ebc421 Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 14:43:18 +0200 Subject: [PATCH 1/9] codecov.yml --- codecov.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 codecov.yml diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 000000000..1744e6898 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,10 @@ +#codecov: +# notify: +# after_n_builds: 2 +flags: + gsagh: + carryforward: false + integration: + carryforward: false +ignore: + - "ComposGHTests" # ignore folders and all its contents \ No newline at end of file From 247fa835fb4939c4ab73203c4943138edbfc8d05 Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 14:49:56 +0200 Subject: [PATCH 2/9] switch pool to rhino-compute --- build-test-deploy.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/build-test-deploy.yml b/build-test-deploy.yml index 0b6a0eebd..86e8fa7cf 100644 --- a/build-test-deploy.yml +++ b/build-test-deploy.yml @@ -14,7 +14,7 @@ variables: - name: latest_released_gsa_version value: GSA/10.1/10.1.60/10.1.60.42/2022-07-01/36296/Arup_GSA_x64_10.1.60.42 -pool: 'vs17_2' +pool: 'rhino-compute' steps: - powershell: aws s3 cp s3://oasys-installer-store/$(latest_released_gsa_version).msi .\gsa.msi @@ -55,17 +55,26 @@ steps: MSBUILDDISABLENODEREUSE: 1 #- powershell: | -# dotnet test --collect:"XPlat Code Coverage" /TestAdapterPath:$env:UserProfile\.nuget\packages\coverlet.collector\3.1.0\build --results-directory .\results .\AdSecGHTests\bin\Release\net6.0\AdSecGHTests.dll +# dotnet test --collect:"XPlat Code Coverage" /TestAdapterPath:$env:UserProfile\.nuget\packages\coverlet.collector\3.1.0\build --results-directory .\results\gsagh .\AdSecGHTests\bin\x64\Release\net48\AdSecGHTests.dll +# dotnet test --collect:"XPlat Code Coverage" /TestAdapterPath:$env:UserProfile\.nuget\packages\coverlet.collector\3.1.0\build --results-directory .\results\integration .\AdSecGHTests\bin\x64\Release\net48\IntegrationTests.dll # displayName: dotnet tests #- task: PublishCodeCoverageResults@1 # inputs: # codeCoverageTool: 'cobertura' -# summaryFileLocation: '$(System.DefaultWorkingDirectory)/results/**/coverage.cobertura.xml' +# summaryFileLocation: '$(System.DefaultWorkingDirectory)/results/gsagh/**/coverage.cobertura.xml' # pathToSources: '$(System.DefaultWorkingDirectory)' #- powershell: | -# codecov -t $env:CODECOV_TOKEN -f ComposTests\coverage.json -F unittests +# $coverage_file_gsagh = (Resolve-Path $(System.DefaultWorkingDirectory)/results/gsagh/*/coverage.cobertura.xml).Path +# echo $coverage_file_gsagh +# $coverage_file_integration = (Resolve-Path $(System.DefaultWorkingDirectory)/results/integration/*/coverage.cobertura.xml).Path +# echo $coverage_file_integration +# Copy-Item $coverage_file_gsagh $(System.DefaultWorkingDirectory)\results\coverage_gsagh.xml +# Copy-Item $coverage_file_integration $(System.DefaultWorkingDirectory)\results\coverage_integration.xml +# ls $(System.DefaultWorkingDirectory)\results\ +# codecov -t $env:CODECOV_TOKEN --dir $(System.DefaultWorkingDirectory)\results --file coverage_gsagh.xml -F gsagh +# codecov -t $env:CODECOV_TOKEN --dir $(System.DefaultWorkingDirectory)\results --file coverage_integration.xml -F integration # env: # CODECOV_TOKEN: $(CODECOV_TOKEN) # displayName: Upload Code Coverage to codecovio From 3bf87e66078113fb7b4a3d155c15ab8555d018a7 Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 14:57:50 +0200 Subject: [PATCH 3/9] moved main project --- .gitignore | 11 +- GsaGH.sln | 4 +- {GhSA => GsaGH}/App.config | 0 .../Components/0_Model/CreateModel.cs | 0 .../Components/0_Model/GetAnalysis.cs | 0 .../Components/0_Model/GetGeometry.cs | 0 .../Components/0_Model/GetLoads.cs | 0 .../Components/0_Model/GetProperties.cs | 0 .../Components/0_Model/OpenModel.cs | 0 .../Components/0_Model/SaveModel.cs | 0 .../Components/1_Properties/CreateBool6.cs | 0 .../Components/1_Properties/CreateMaterial.cs | 0 .../Components/1_Properties/CreateOffset.cs | 0 .../Components/1_Properties/CreateProfile.cs | 0 .../Components/1_Properties/CreateProp2d.cs | 0 .../Components/1_Properties/CreateProp3d.cs | 0 .../Components/1_Properties/CreateSection.cs | 0 .../1_Properties/CreateSectionModifier.cs | 0 .../Components/1_Properties/CustomMaterial.cs | 0 .../Components/1_Properties/EditBool6.cs | 0 .../Components/1_Properties/EditMaterial.cs | 0 .../Components/1_Properties/EditOffset.cs | 0 .../Components/1_Properties/EditProp2d.cs | 0 .../Components/1_Properties/EditProp3d.cs | 0 .../Components/1_Properties/EditSection.cs | 0 .../1_Properties/EditSectionModifier.cs | 0 .../1_Properties/MaterialProperties.cs | 0 .../1_Properties/SectionProperties.cs | 0 .../Components/1_Properties/TaperProfile.cs | 0 .../Components/2_Geometry/CreateElement1d.cs | 0 .../Components/2_Geometry/CreateElement2d.cs | 0 .../Components/2_Geometry/CreateMember1d.cs | 0 .../Components/2_Geometry/CreateMember2d.cs | 0 .../Components/2_Geometry/CreateMember3d.cs | 0 .../Components/2_Geometry/CreateSupport.cs | 0 .../Components/2_Geometry/EditElement1d.cs | 0 .../Components/2_Geometry/EditElement2d.cs | 0 .../Components/2_Geometry/EditElement3d.cs | 0 .../Components/2_Geometry/EditMember1d.cs | 0 .../Components/2_Geometry/EditMember2d.cs | 0 .../Components/2_Geometry/EditMember3d.cs | 0 .../Components/2_Geometry/EditNode.cs | 0 .../Components/2_Geometry/Elem2dFromBrep.cs | 0 .../Components/2_Geometry/ElemFromMem.cs | 0 .../Components/2_Geometry/LocalAxis.cs | 0 .../Components/3_Loads/CreateBeamLoads.cs | 0 .../Components/3_Loads/CreateFaceLoads.cs | 0 .../Components/3_Loads/CreateGravityLoad.cs | 0 .../Components/3_Loads/CreateGridAreaLoad.cs | 0 .../Components/3_Loads/CreateGridLineLoad.cs | 0 .../Components/3_Loads/CreateGridPlane.cs | 0 .../Components/3_Loads/CreateGridPointLoad.cs | 0 .../Components/3_Loads/CreateGridSurface.cs | 0 .../Components/3_Loads/CreateNodeLoads.cs | 0 .../3_Loads/GridPlaneSurfaceProperties.cs | 0 .../Components/3_Loads/LoadProperties.cs | 0 .../Components/4_Analysis/Analyse.cs | 0 .../Components/4_Analysis/AnalysisCaseInfo.cs | 0 .../4_Analysis/CreateAnalysisCase.cs | 0 .../4_Analysis/CreateAnalysisTask.cs | 0 .../4_Analysis/CreateCombinationCase.cs | 0 .../Components/4_Analysis/EditAnalysisTask.cs | 0 .../Components/5_Results/BeamDispResult.cs | 0 .../Components/5_Results/BeamForceResult.cs | 0 .../5_Results/BeamStrainEnergyResult.cs | 0 .../5_Results/Elem1dContourResults.cs | 0 .../5_Results/Elem2dContourResults.cs | 0 .../5_Results/Elem2dDisplacementResult.cs | 0 .../Components/5_Results/Elem2dForceResult.cs | 0 .../5_Results/Elem2dStressResult.cs | 0 .../5_Results/Elem3dDisplacementResult.cs | 0 .../5_Results/Elem3dStressResult.cs | 0 .../5_Results/GlobalPerformanceResults.cs | 0 .../5_Results/NodeContourResults.cs | 0 .../5_Results/NodeDisplacementResult.cs | 0 .../5_Results/NodeReactionForceResult.cs | 0 .../Components/5_Results/SelectResults.cs | 0 .../5_Results/SpringReactionForceResult.cs | 0 .../5_Results/TotalLoadsAndReactionResults.cs | 0 .../Components/GH_OasysComponent.cs | 0 .../GH_OasysTaskCapableComponent.cs | 0 .../GraveyardComp/CreateBeamLoads_OBSOLETE.cs | 6 +- .../GraveyardComp/CreateFaceLoads_OBSOLETE.cs | 6 +- .../CreateGridAreaLoad_OBSOLETE.cs | 6 +- .../CreateGridLineLoad_OBSOLETE.cs | 6 +- .../CreateGridPointLoad_OBSOLETE.cs | 6 +- .../GraveyardComp/CreateNodeLoads_OBSOLETE.cs | 6 +- .../GraveyardComp/CreateOffset_OBSOLETE.cs | 6 +- .../GraveyardComp/CreateProfile_OBSOLETE.cs | 0 .../GraveyardComp/CreateProp2d_OBSOLETE.cs | 6 +- .../Components/GraveyardComp/CreateSpring.cs | 6 +- .../GraveyardComp/EditNode_OBSOLETE.cs | 6 +- .../GraveyardComp/EditSection_OBSOLETE.cs | 0 .../Components/GraveyardComp/EditSpring.cs | 6 +- .../GraveyardComp/EditTitles_OBSOLETE.cs | 0 .../GraveyardComp/EditUnits_OBSOLETE.cs | 6 +- .../GraveyardComp/Elem1dResults_OBSOLETE.cs | 0 .../GraveyardComp/Elem2dResults_OBSOLETE.cs | 0 .../GraveyardComp/Elem3dResults_OBSOLETE.cs | 0 .../GraveyardComp/GetAnalysis_OBSOLETE.cs | 0 .../GraveyardComp/GetGeometry_OBSOLETE.cs | 6 +- .../GraveyardComp/GlobalResult2_OBSOLETE .cs | 0 .../GraveyardComp/GlobalResult_OBSOLETE.cs | 0 .../GraveyardComp/NodeResults_OBSOLETE.cs | 0 .../GraveyardComp/Version_OBSOLETE.cs | 6 +- {GhSA => GsaGH}/Components/Lab/Version.cs | 6 +- .../Components/Other/ConvertUnitNumber.cs | 0 .../Components/Other/CreateUnitNumber.cs | 0 {GhSA => GsaGH}/GsaGH.csproj | 0 {GhSA => GsaGH}/GsaGHInfo.cs | 2 +- .../Helpers/Export/ConvertMembers.cs | 0 .../Helpers/Export/ExportMembers.cs | 0 {GhSA => GsaGH}/Helpers/Export/_GsaExport.cs | 0 .../Helpers/Export/_GsaExportElements.cs | 0 .../Helpers/Export/_GsaExportLoads.cs | 0 .../Helpers/Export/_GsaExportNodes.cs | 0 .../Helpers/Export/_GsaExportProperties.cs | 0 {GhSA => GsaGH}/Helpers/LoadMainMenu.cs | 0 {GhSA => GsaGH}/Helpers/PostHog.cs | 0 {GhSA => GsaGH}/Helpers/_Colour.cs | 0 {GhSA => GsaGH}/Helpers/_DeSerialization.cs | 0 {GhSA => GsaGH}/Helpers/_Display.cs | 0 {GhSA => GsaGH}/Helpers/_GetInput.cs | 0 {GhSA => GsaGH}/Helpers/_GhRibbonLayout.cs | 0 {GhSA => GsaGH}/Helpers/_GsaImport.cs | 0 {GhSA => GsaGH}/Helpers/_GsaPath.cs | 0 {GhSA => GsaGH}/Helpers/_GsaProfileConvert.cs | 0 {GhSA => GsaGH}/Helpers/_GsaResultsHelper.cs | 0 {GhSA => GsaGH}/Helpers/_RhinoConversions.cs | 0 {GhSA => GsaGH}/Helpers/_SqlReader.cs | 0 {GhSA => GsaGH}/Parameters/GH_UnitNumber.cs | 0 {GhSA => GsaGH}/Parameters/GsaAnalysisCase.cs | 0 {GhSA => GsaGH}/Parameters/GsaAnalysisTask.cs | 0 {GhSA => GsaGH}/Parameters/GsaBool6Param.cs | 0 .../Parameters/GsaCombinationCase.cs | 0 {GhSA => GsaGH}/Parameters/GsaElem1dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaElem2dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaElem3dParam.cs | 0 .../Parameters/GsaGridPlaneSurfaceParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaLoadParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaMaterial.cs | 0 {GhSA => GsaGH}/Parameters/GsaMem1dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaMem2dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaMem3dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaModelParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaNodeParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaOffsetParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaProp2d.cs | 0 {GhSA => GsaGH}/Parameters/GsaProp3d.cs | 0 {GhSA => GsaGH}/Parameters/GsaResult.cs | 0 {GhSA => GsaGH}/Parameters/GsaSection.cs | 0 .../Parameters/GsaSectionModifierParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaSpringParam.cs | 8 +- {GhSA => GsaGH}/Parameters/_ResultLine.cs | 0 {GhSA => GsaGH}/Parameters/_ResultMesh.cs | 0 {GhSA => GsaGH}/Parameters/_ResultPoint.cs | 0 {GhSA => GsaGH}/Parameters/_Titles.cs | 0 {GhSA => GsaGH}/Parameters/_Units.cs | 0 {GhSA => GsaGH}/Properties/AssemblyInfo.cs | 0 {GhSA => GsaGH}/Properties/Icons/Analyse.png | Bin .../Properties/Icons/AnalysisCaseInfo.png | Bin .../Properties/Icons/AnalysisCaseParam.png | Bin .../Properties/Icons/AnalysisTaskParam.png | Bin {GhSA => GsaGH}/Properties/Icons/AreaLoad.png | Bin .../Properties/Icons/BeamDisplacement.png | Bin .../Properties/Icons/BeamForces.png | Bin {GhSA => GsaGH}/Properties/Icons/BeamLoad.png | Bin .../Properties/Icons/Bool6Param.png | Bin .../Properties/Icons/ConvertUnitNumber.png | Bin .../Properties/Icons/CreateAnalysisCase.png | Bin .../Properties/Icons/CreateAnalysisTask.png | Bin .../Properties/Icons/CreateBool6.png | Bin .../Properties/Icons/CreateCombination.png | Bin .../Icons/CreateCombinationCase.png | Bin .../Properties/Icons/CreateElem1d.png | Bin .../Properties/Icons/CreateElem2d.png | Bin .../Properties/Icons/CreateElem3d.png | Bin .../Properties/Icons/CreateElemsFromBreps.png | Bin .../Properties/Icons/CreateElemsFromMems.png | Bin .../Properties/Icons/CreateMaterial.png | Bin .../Properties/Icons/CreateMem1d.png | Bin .../Properties/Icons/CreateMem2d.png | Bin .../Properties/Icons/CreateMem3d.png | Bin .../Properties/Icons/CreateModel.png | Bin .../Properties/Icons/CreateOffset.png | Bin .../Properties/Icons/CreateProfile.png | Bin .../Properties/Icons/CreateProp2d.png | Bin .../Properties/Icons/CreateProp3d.png | Bin .../Properties/Icons/CreateSection.png | Bin .../Icons/CreateSectionModifier.png | Bin .../Properties/Icons/CreateSpring.png | Bin .../Properties/Icons/CreateSupport.png | Bin .../Properties/Icons/CreateUnitNumber.png | Bin .../Properties/Icons/CustomMaterial.png | Bin .../Properties/Icons/Displacement2D.png | Bin .../Properties/Icons/Displacement3D.png | Bin .../Properties/Icons/Documentation.png | Bin .../Properties/Icons/EditAnalysisTask.png | Bin .../Properties/Icons/EditBool6.png | Bin .../Properties/Icons/EditElem1d.png | Bin .../Properties/Icons/EditElem2d.png | Bin .../Properties/Icons/EditElem3d.png | Bin .../Properties/Icons/EditMaterial.png | Bin .../Properties/Icons/EditMem1d.png | Bin .../Properties/Icons/EditMem2d.png | Bin .../Properties/Icons/EditMem3d.png | Bin {GhSA => GsaGH}/Properties/Icons/EditNode.png | Bin .../Properties/Icons/EditOffset.png | Bin .../Properties/Icons/EditProp2d.png | Bin .../Properties/Icons/EditProp3d.png | Bin .../Properties/Icons/EditSection.png | Bin .../Properties/Icons/EditSectionModifier.png | Bin .../Properties/Icons/EditSpring.png | Bin .../Properties/Icons/Elem1dParam.png | Bin .../Properties/Icons/Elem2dParam.png | Bin .../Properties/Icons/Elem3dParam.png | Bin {GhSA => GsaGH}/Properties/Icons/FaceLoad.png | Bin {GhSA => GsaGH}/Properties/Icons/Forces2D.png | Bin {GhSA => GsaGH}/Properties/Icons/Forces3D.png | Bin {GhSA => GsaGH}/Properties/Icons/GSAInfo.png | Bin {GhSA => GsaGH}/Properties/Icons/GSALogo.png | Bin .../Properties/Icons/GSALogo128.png | Bin .../Properties/Icons/GetAnalysisTask.png | Bin .../Properties/Icons/GetGeometry.png | Bin {GhSA => GsaGH}/Properties/Icons/GetLoads.png | Bin .../Properties/Icons/GetSection.png | Bin .../Properties/Icons/GlobalPerformance.png | Bin .../Properties/Icons/GravityLoad.png | Bin .../Properties/Icons/GridPlane.png | Bin .../Properties/Icons/GridPlaneParam.png | Bin .../Properties/Icons/GridPlaneProperties.png | Bin .../Properties/Icons/GridSurface.png | Bin .../Properties/Icons/GsaLogo64.png | Bin {GhSA => GsaGH}/Properties/Icons/LineLoad.png | Bin {GhSA => GsaGH}/Properties/Icons/LoadInfo.png | Bin .../Properties/Icons/LoadParam.png | Bin .../Properties/Icons/LocalAxes.png | Bin .../Properties/Icons/MaterialParam.png | Bin .../Properties/Icons/MaterialProperties.png | Bin .../Properties/Icons/Mem1dParam.png | Bin .../Properties/Icons/Mem2dParam.png | Bin .../Properties/Icons/Mem3dParam.png | Bin .../Properties/Icons/ModelParam.png | Bin .../Properties/Icons/NodeDisplacement.png | Bin {GhSA => GsaGH}/Properties/Icons/NodeLoad.png | Bin .../Properties/Icons/NodeParam.png | Bin .../Properties/Icons/OffsetParam.png | Bin .../Properties/Icons/OpenModel.png | Bin .../Properties/Icons/PointLoad.png | Bin .../Properties/Icons/Prop2dParam.png | Bin .../Properties/Icons/Prop3dParam.png | Bin .../Properties/Icons/ReactionForces.png | Bin {GhSA => GsaGH}/Properties/Icons/Result0D.png | Bin {GhSA => GsaGH}/Properties/Icons/Result1D.png | Bin {GhSA => GsaGH}/Properties/Icons/Result2D.png | Bin {GhSA => GsaGH}/Properties/Icons/Result3D.png | Bin .../Properties/Icons/ResultGlobal.png | Bin .../Properties/Icons/ResultParam.png | Bin .../Properties/Icons/SaveModel.png | Bin .../Properties/Icons/SectionModifierParam.png | Bin .../Properties/Icons/SectionParam.png | Bin .../Properties/Icons/SectionProperties.png | Bin .../Properties/Icons/SelectResult.png | Bin .../Properties/Icons/SpringParam.png | Bin .../Properties/Icons/SpringReactionForces.png | Bin .../Properties/Icons/StrainEnergyDensity.png | Bin {GhSA => GsaGH}/Properties/Icons/Stress2D.png | Bin {GhSA => GsaGH}/Properties/Icons/Stress3D.png | Bin .../Properties/Icons/TaperProfile.png | Bin {GhSA => GsaGH}/Properties/Icons/Titles.png | Bin .../Properties/Icons/TotalLoadAndReaction.png | Bin .../Properties/Icons/UnitParam.png | Bin {GhSA => GsaGH}/Properties/Icons/Units.png | Bin {GhSA => GsaGH}/Properties/Icons/path1220.png | Bin {GhSA => GsaGH}/Properties/Icons/unused.png | Bin .../Properties/Resources.Designer.cs | 0 {GhSA => GsaGH}/Properties/Resources.resx | 0 {GhSA => GsaGH}/UI/AboutBox.Designer.cs | 0 {GhSA => GsaGH}/UI/AboutBox.cs | 0 {GhSA => GsaGH}/UI/AboutBox.resx | 0 {GhSA => GsaGH}/UI/Comp_Bool6.cs | 0 {GhSA => GsaGH}/UI/Comp_Button.cs | 0 {GhSA => GsaGH}/UI/Comp_CheckBox.cs | 0 {GhSA => GsaGH}/UI/Comp_DropDown.cs | 0 {GhSA => GsaGH}/UI/Comp_MultiDropDowns.cs | 0 .../UI/Comp_MultiDropDownsCheckBoxes.cs | 0 .../UI/Comp_MultiDropDownsSlider.cs | 0 {GhSA => GsaGH}/UI/Comp_Profile.cs | 0 {GhSA => GsaGH}/UI/Comp_Releases.cs | 0 {GhSA => GsaGH}/UI/Comp_Slider.cs | 0 {GhSA => GsaGH}/UI/Comp_Support.cs | 0 {GhSA => GsaGH}/UI/Comp_TripleButton.cs | 0 {GhSA => GsaGH}/UI/GraphicButtons.cs | 0 .../UI/UnitSettingsBox.Designer.cs | 0 {GhSA => GsaGH}/UI/UnitSettingsBox.cs | 0 {GhSA => GsaGH}/UI/UnitSettingsBox.resx | 0 {GhSA => GsaGH}/UI/WidthFix.cs | 0 {GhSA => GsaGH}/lib/OasysUnits.dll | Bin {GhSA => GsaGH}/licenses/Newtonsoft | 0 {GhSA => GsaGH}/licenses/README.md | 0 {GhSA => GsaGH}/licenses/UnitsNet | 0 {GhSA => GsaGH}/packages.config | 0 GsaGHTests/GsaGHTests.csproj | 2 +- IntegrationTests/IntegrationTests.csproj | 2 +- UnitTestGhSA/Properties/AssemblyInfo.cs | 4 +- UnitTestGhSA/UnitTestGhSA.csproj | 8 +- UnitTestGhSA/UnitTestSetup.cs | 14 +- UnitTestGhSA/bin/x64/Debug/GsaAPI.dll | Bin 0 -> 4420608 bytes UnitTestGhSA/bin/x64/Debug/GsaGH.dll | Bin 0 -> 1088512 bytes UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config | 21 + .../bin/x64/Debug/NUnit3.TestAdapter.dll | Bin 0 -> 372224 bytes .../bin/x64/Debug/Newtonsoft.Json.dll | Bin 0 -> 701992 bytes .../bin/x64/Debug/Newtonsoft.Json.xml | 11305 +++ UnitTestGhSA/bin/x64/Debug/OasysUnits.dll | Bin 0 -> 60928 bytes .../bin/x64/Debug/System.ValueTuple.dll | Bin 0 -> 78992 bytes .../bin/x64/Debug/System.ValueTuple.xml | 1299 + UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll | Bin 0 -> 40960 bytes UnitTestGhSA/bin/x64/Debug/UnitsNet.dll | Bin 0 -> 1635328 bytes UnitTestGhSA/bin/x64/Debug/UnitsNet.xml | 62732 ++++++++++++++++ .../bin/x64/Debug/nunit.engine.api.dll | Bin 0 -> 18944 bytes .../bin/x64/Debug/nunit.engine.core.dll | Bin 0 -> 94208 bytes UnitTestGhSA/bin/x64/Debug/nunit.engine.dll | Bin 0 -> 54272 bytes .../bin/x64/Debug/nunit.framework.dll | Bin 0 -> 394240 bytes .../bin/x64/Debug/nunit.framework.xml | 20670 +++++ build-test-deploy.yml | 6 +- 325 files changed, 96102 insertions(+), 76 deletions(-) rename {GhSA => GsaGH}/App.config (100%) rename {GhSA => GsaGH}/Components/0_Model/CreateModel.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetAnalysis.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetGeometry.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetLoads.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetProperties.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/OpenModel.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/SaveModel.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateBool6.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateMaterial.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateOffset.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateProfile.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateProp2d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateProp3d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateSection.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateSectionModifier.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CustomMaterial.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditBool6.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditMaterial.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditOffset.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditProp2d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditProp3d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditSection.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditSectionModifier.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/MaterialProperties.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/SectionProperties.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/TaperProfile.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateElement1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateElement2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateMember1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateMember2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateMember3d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateSupport.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditElement1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditElement2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditElement3d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditMember1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditMember2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditMember3d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditNode.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/Elem2dFromBrep.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/ElemFromMem.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/LocalAxis.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateBeamLoads.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateFaceLoads.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGravityLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridAreaLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridLineLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridPlane.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridPointLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridSurface.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateNodeLoads.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/GridPlaneSurfaceProperties.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/LoadProperties.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/Analyse.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/AnalysisCaseInfo.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/CreateAnalysisCase.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/CreateAnalysisTask.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/CreateCombinationCase.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/EditAnalysisTask.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/BeamDispResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/BeamForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/BeamStrainEnergyResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem1dContourResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dContourResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dDisplacementResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dStressResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem3dDisplacementResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem3dStressResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/GlobalPerformanceResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/NodeContourResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/NodeDisplacementResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/NodeReactionForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/SelectResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/SpringReactionForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/TotalLoadsAndReactionResults.cs (100%) rename {GhSA => GsaGH}/Components/GH_OasysComponent.cs (100%) rename {GhSA => GsaGH}/Components/GH_OasysTaskCapableComponent.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs (99%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs (99%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs (97%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateOffset_OBSOLETE.cs (95%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateProfile_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateSpring.cs (96%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditNode_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditSection_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditSpring.cs (96%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditTitles_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditUnits_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/GetGeometry_OBSOLETE.cs (98%) rename {GhSA => GsaGH}/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/GlobalResult_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/NodeResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/Version_OBSOLETE.cs (93%) rename {GhSA => GsaGH}/Components/Lab/Version.cs (93%) rename {GhSA => GsaGH}/Components/Other/ConvertUnitNumber.cs (100%) rename {GhSA => GsaGH}/Components/Other/CreateUnitNumber.cs (100%) rename {GhSA => GsaGH}/GsaGH.csproj (100%) rename {GhSA => GsaGH}/GsaGHInfo.cs (99%) rename {GhSA => GsaGH}/Helpers/Export/ConvertMembers.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/ExportMembers.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExport.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportElements.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportLoads.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportNodes.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportProperties.cs (100%) rename {GhSA => GsaGH}/Helpers/LoadMainMenu.cs (100%) rename {GhSA => GsaGH}/Helpers/PostHog.cs (100%) rename {GhSA => GsaGH}/Helpers/_Colour.cs (100%) rename {GhSA => GsaGH}/Helpers/_DeSerialization.cs (100%) rename {GhSA => GsaGH}/Helpers/_Display.cs (100%) rename {GhSA => GsaGH}/Helpers/_GetInput.cs (100%) rename {GhSA => GsaGH}/Helpers/_GhRibbonLayout.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaImport.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaPath.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaProfileConvert.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaResultsHelper.cs (100%) rename {GhSA => GsaGH}/Helpers/_RhinoConversions.cs (100%) rename {GhSA => GsaGH}/Helpers/_SqlReader.cs (100%) rename {GhSA => GsaGH}/Parameters/GH_UnitNumber.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaAnalysisCase.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaAnalysisTask.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaBool6Param.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaCombinationCase.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaElem1dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaElem2dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaElem3dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaGridPlaneSurfaceParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaLoadParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMaterial.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMem1dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMem2dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMem3dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaModelParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaNodeParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaOffsetParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaProp2d.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaProp3d.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaResult.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaSection.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaSectionModifierParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaSpringParam.cs (96%) rename {GhSA => GsaGH}/Parameters/_ResultLine.cs (100%) rename {GhSA => GsaGH}/Parameters/_ResultMesh.cs (100%) rename {GhSA => GsaGH}/Parameters/_ResultPoint.cs (100%) rename {GhSA => GsaGH}/Parameters/_Titles.cs (100%) rename {GhSA => GsaGH}/Parameters/_Units.cs (100%) rename {GhSA => GsaGH}/Properties/AssemblyInfo.cs (100%) rename {GhSA => GsaGH}/Properties/Icons/Analyse.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AnalysisCaseInfo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AnalysisCaseParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AnalysisTaskParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AreaLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/BeamDisplacement.png (100%) rename {GhSA => GsaGH}/Properties/Icons/BeamForces.png (100%) rename {GhSA => GsaGH}/Properties/Icons/BeamLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Bool6Param.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ConvertUnitNumber.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateAnalysisCase.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateAnalysisTask.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateBool6.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateCombination.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateCombinationCase.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElemsFromBreps.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElemsFromMems.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMaterial.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateModel.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateOffset.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateProfile.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateProp2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateProp3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSection.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSectionModifier.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSpring.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSupport.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateUnitNumber.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CustomMaterial.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Displacement2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Displacement3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Documentation.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditAnalysisTask.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditBool6.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditElem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditElem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditElem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMaterial.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditNode.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditOffset.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditProp2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditProp3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditSection.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditSectionModifier.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditSpring.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Elem1dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Elem2dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Elem3dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/FaceLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Forces2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Forces3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GSAInfo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GSALogo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GSALogo128.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetAnalysisTask.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetGeometry.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetLoads.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetSection.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GlobalPerformance.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GravityLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridPlane.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridPlaneParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridPlaneProperties.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridSurface.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GsaLogo64.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LineLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LoadInfo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LoadParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LocalAxes.png (100%) rename {GhSA => GsaGH}/Properties/Icons/MaterialParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/MaterialProperties.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Mem1dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Mem2dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Mem3dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ModelParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/NodeDisplacement.png (100%) rename {GhSA => GsaGH}/Properties/Icons/NodeLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/NodeParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/OffsetParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/OpenModel.png (100%) rename {GhSA => GsaGH}/Properties/Icons/PointLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Prop2dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Prop3dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ReactionForces.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result0D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result1D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ResultGlobal.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ResultParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SaveModel.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SectionModifierParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SectionParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SectionProperties.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SelectResult.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SpringParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SpringReactionForces.png (100%) rename {GhSA => GsaGH}/Properties/Icons/StrainEnergyDensity.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Stress2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Stress3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/TaperProfile.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Titles.png (100%) rename {GhSA => GsaGH}/Properties/Icons/TotalLoadAndReaction.png (100%) rename {GhSA => GsaGH}/Properties/Icons/UnitParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Units.png (100%) rename {GhSA => GsaGH}/Properties/Icons/path1220.png (100%) rename {GhSA => GsaGH}/Properties/Icons/unused.png (100%) rename {GhSA => GsaGH}/Properties/Resources.Designer.cs (100%) rename {GhSA => GsaGH}/Properties/Resources.resx (100%) rename {GhSA => GsaGH}/UI/AboutBox.Designer.cs (100%) rename {GhSA => GsaGH}/UI/AboutBox.cs (100%) rename {GhSA => GsaGH}/UI/AboutBox.resx (100%) rename {GhSA => GsaGH}/UI/Comp_Bool6.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Button.cs (100%) rename {GhSA => GsaGH}/UI/Comp_CheckBox.cs (100%) rename {GhSA => GsaGH}/UI/Comp_DropDown.cs (100%) rename {GhSA => GsaGH}/UI/Comp_MultiDropDowns.cs (100%) rename {GhSA => GsaGH}/UI/Comp_MultiDropDownsCheckBoxes.cs (100%) rename {GhSA => GsaGH}/UI/Comp_MultiDropDownsSlider.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Profile.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Releases.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Slider.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Support.cs (100%) rename {GhSA => GsaGH}/UI/Comp_TripleButton.cs (100%) rename {GhSA => GsaGH}/UI/GraphicButtons.cs (100%) rename {GhSA => GsaGH}/UI/UnitSettingsBox.Designer.cs (100%) rename {GhSA => GsaGH}/UI/UnitSettingsBox.cs (100%) rename {GhSA => GsaGH}/UI/UnitSettingsBox.resx (100%) rename {GhSA => GsaGH}/UI/WidthFix.cs (100%) rename {GhSA => GsaGH}/lib/OasysUnits.dll (100%) rename {GhSA => GsaGH}/licenses/Newtonsoft (100%) rename {GhSA => GsaGH}/licenses/README.md (100%) rename {GhSA => GsaGH}/licenses/UnitsNet (100%) rename {GhSA => GsaGH}/packages.config (100%) create mode 100644 UnitTestGhSA/bin/x64/Debug/GsaAPI.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/GsaGH.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config create mode 100644 UnitTestGhSA/bin/x64/Debug/NUnit3.TestAdapter.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.xml create mode 100644 UnitTestGhSA/bin/x64/Debug/OasysUnits.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/System.ValueTuple.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml create mode 100644 UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/UnitsNet.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/UnitsNet.xml create mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.engine.api.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.engine.core.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.engine.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.framework.dll create mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.framework.xml diff --git a/.gitignore b/.gitignore index ddb536c85..c469ca2e8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,7 @@ bld/ [Oo]bj/ [Ll]og/ !bin/X64/Release/ -!/GhSA/bin/x64/Release/ +!/GsaGH/bin/x64/Release/ # Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot @@ -344,13 +344,12 @@ dist/* !dist/manifest.yml ! *.bak -/UnitTestGhSA/bin -/UnitTestGhSA/obj -/GhSA/bin/x64/Debug -/GhSA/obj +/UnitTestGsaGH/bin +/UnitTestGsaGH/obj +/GsaGH/bin +/GsaGH/obj /GsaGHTests/bin /GsaGHTests/obj /IntegrationTests/bin /IntegrationTests/obj -/GhSA/bin/x64/Release diff --git a/GsaGH.sln b/GsaGH.sln index ce0c2bfac..feb350582 100644 --- a/GsaGH.sln +++ b/GsaGH.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.1.32210.238 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GsaGH", "GhSA\GsaGH.csproj", "{362F5ED1-BA80-4F21-881D-6BD8784612E4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GsaGH", "GsaGH\GsaGH.csproj", "{362F5ED1-BA80-4F21-881D-6BD8784612E4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestGhSA", "UnitTestGhSA\UnitTestGhSA.csproj", "{CE4EB299-EA12-48B1-BB13-0C5B83FF0B52}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestGsaGH", "UnitTestGsaGH\UnitTestGsaGH.csproj", "{CE4EB299-EA12-48B1-BB13-0C5B83FF0B52}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GsaGHTests", "GsaGHTests\GsaGHTests.csproj", "{42A3C97A-09F9-4A87-8E6D-46C9A6682E9C}" EndProject diff --git a/GhSA/App.config b/GsaGH/App.config similarity index 100% rename from GhSA/App.config rename to GsaGH/App.config diff --git a/GhSA/Components/0_Model/CreateModel.cs b/GsaGH/Components/0_Model/CreateModel.cs similarity index 100% rename from GhSA/Components/0_Model/CreateModel.cs rename to GsaGH/Components/0_Model/CreateModel.cs diff --git a/GhSA/Components/0_Model/GetAnalysis.cs b/GsaGH/Components/0_Model/GetAnalysis.cs similarity index 100% rename from GhSA/Components/0_Model/GetAnalysis.cs rename to GsaGH/Components/0_Model/GetAnalysis.cs diff --git a/GhSA/Components/0_Model/GetGeometry.cs b/GsaGH/Components/0_Model/GetGeometry.cs similarity index 100% rename from GhSA/Components/0_Model/GetGeometry.cs rename to GsaGH/Components/0_Model/GetGeometry.cs diff --git a/GhSA/Components/0_Model/GetLoads.cs b/GsaGH/Components/0_Model/GetLoads.cs similarity index 100% rename from GhSA/Components/0_Model/GetLoads.cs rename to GsaGH/Components/0_Model/GetLoads.cs diff --git a/GhSA/Components/0_Model/GetProperties.cs b/GsaGH/Components/0_Model/GetProperties.cs similarity index 100% rename from GhSA/Components/0_Model/GetProperties.cs rename to GsaGH/Components/0_Model/GetProperties.cs diff --git a/GhSA/Components/0_Model/OpenModel.cs b/GsaGH/Components/0_Model/OpenModel.cs similarity index 100% rename from GhSA/Components/0_Model/OpenModel.cs rename to GsaGH/Components/0_Model/OpenModel.cs diff --git a/GhSA/Components/0_Model/SaveModel.cs b/GsaGH/Components/0_Model/SaveModel.cs similarity index 100% rename from GhSA/Components/0_Model/SaveModel.cs rename to GsaGH/Components/0_Model/SaveModel.cs diff --git a/GhSA/Components/1_Properties/CreateBool6.cs b/GsaGH/Components/1_Properties/CreateBool6.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateBool6.cs rename to GsaGH/Components/1_Properties/CreateBool6.cs diff --git a/GhSA/Components/1_Properties/CreateMaterial.cs b/GsaGH/Components/1_Properties/CreateMaterial.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateMaterial.cs rename to GsaGH/Components/1_Properties/CreateMaterial.cs diff --git a/GhSA/Components/1_Properties/CreateOffset.cs b/GsaGH/Components/1_Properties/CreateOffset.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateOffset.cs rename to GsaGH/Components/1_Properties/CreateOffset.cs diff --git a/GhSA/Components/1_Properties/CreateProfile.cs b/GsaGH/Components/1_Properties/CreateProfile.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateProfile.cs rename to GsaGH/Components/1_Properties/CreateProfile.cs diff --git a/GhSA/Components/1_Properties/CreateProp2d.cs b/GsaGH/Components/1_Properties/CreateProp2d.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateProp2d.cs rename to GsaGH/Components/1_Properties/CreateProp2d.cs diff --git a/GhSA/Components/1_Properties/CreateProp3d.cs b/GsaGH/Components/1_Properties/CreateProp3d.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateProp3d.cs rename to GsaGH/Components/1_Properties/CreateProp3d.cs diff --git a/GhSA/Components/1_Properties/CreateSection.cs b/GsaGH/Components/1_Properties/CreateSection.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateSection.cs rename to GsaGH/Components/1_Properties/CreateSection.cs diff --git a/GhSA/Components/1_Properties/CreateSectionModifier.cs b/GsaGH/Components/1_Properties/CreateSectionModifier.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateSectionModifier.cs rename to GsaGH/Components/1_Properties/CreateSectionModifier.cs diff --git a/GhSA/Components/1_Properties/CustomMaterial.cs b/GsaGH/Components/1_Properties/CustomMaterial.cs similarity index 100% rename from GhSA/Components/1_Properties/CustomMaterial.cs rename to GsaGH/Components/1_Properties/CustomMaterial.cs diff --git a/GhSA/Components/1_Properties/EditBool6.cs b/GsaGH/Components/1_Properties/EditBool6.cs similarity index 100% rename from GhSA/Components/1_Properties/EditBool6.cs rename to GsaGH/Components/1_Properties/EditBool6.cs diff --git a/GhSA/Components/1_Properties/EditMaterial.cs b/GsaGH/Components/1_Properties/EditMaterial.cs similarity index 100% rename from GhSA/Components/1_Properties/EditMaterial.cs rename to GsaGH/Components/1_Properties/EditMaterial.cs diff --git a/GhSA/Components/1_Properties/EditOffset.cs b/GsaGH/Components/1_Properties/EditOffset.cs similarity index 100% rename from GhSA/Components/1_Properties/EditOffset.cs rename to GsaGH/Components/1_Properties/EditOffset.cs diff --git a/GhSA/Components/1_Properties/EditProp2d.cs b/GsaGH/Components/1_Properties/EditProp2d.cs similarity index 100% rename from GhSA/Components/1_Properties/EditProp2d.cs rename to GsaGH/Components/1_Properties/EditProp2d.cs diff --git a/GhSA/Components/1_Properties/EditProp3d.cs b/GsaGH/Components/1_Properties/EditProp3d.cs similarity index 100% rename from GhSA/Components/1_Properties/EditProp3d.cs rename to GsaGH/Components/1_Properties/EditProp3d.cs diff --git a/GhSA/Components/1_Properties/EditSection.cs b/GsaGH/Components/1_Properties/EditSection.cs similarity index 100% rename from GhSA/Components/1_Properties/EditSection.cs rename to GsaGH/Components/1_Properties/EditSection.cs diff --git a/GhSA/Components/1_Properties/EditSectionModifier.cs b/GsaGH/Components/1_Properties/EditSectionModifier.cs similarity index 100% rename from GhSA/Components/1_Properties/EditSectionModifier.cs rename to GsaGH/Components/1_Properties/EditSectionModifier.cs diff --git a/GhSA/Components/1_Properties/MaterialProperties.cs b/GsaGH/Components/1_Properties/MaterialProperties.cs similarity index 100% rename from GhSA/Components/1_Properties/MaterialProperties.cs rename to GsaGH/Components/1_Properties/MaterialProperties.cs diff --git a/GhSA/Components/1_Properties/SectionProperties.cs b/GsaGH/Components/1_Properties/SectionProperties.cs similarity index 100% rename from GhSA/Components/1_Properties/SectionProperties.cs rename to GsaGH/Components/1_Properties/SectionProperties.cs diff --git a/GhSA/Components/1_Properties/TaperProfile.cs b/GsaGH/Components/1_Properties/TaperProfile.cs similarity index 100% rename from GhSA/Components/1_Properties/TaperProfile.cs rename to GsaGH/Components/1_Properties/TaperProfile.cs diff --git a/GhSA/Components/2_Geometry/CreateElement1d.cs b/GsaGH/Components/2_Geometry/CreateElement1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateElement1d.cs rename to GsaGH/Components/2_Geometry/CreateElement1d.cs diff --git a/GhSA/Components/2_Geometry/CreateElement2d.cs b/GsaGH/Components/2_Geometry/CreateElement2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateElement2d.cs rename to GsaGH/Components/2_Geometry/CreateElement2d.cs diff --git a/GhSA/Components/2_Geometry/CreateMember1d.cs b/GsaGH/Components/2_Geometry/CreateMember1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateMember1d.cs rename to GsaGH/Components/2_Geometry/CreateMember1d.cs diff --git a/GhSA/Components/2_Geometry/CreateMember2d.cs b/GsaGH/Components/2_Geometry/CreateMember2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateMember2d.cs rename to GsaGH/Components/2_Geometry/CreateMember2d.cs diff --git a/GhSA/Components/2_Geometry/CreateMember3d.cs b/GsaGH/Components/2_Geometry/CreateMember3d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateMember3d.cs rename to GsaGH/Components/2_Geometry/CreateMember3d.cs diff --git a/GhSA/Components/2_Geometry/CreateSupport.cs b/GsaGH/Components/2_Geometry/CreateSupport.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateSupport.cs rename to GsaGH/Components/2_Geometry/CreateSupport.cs diff --git a/GhSA/Components/2_Geometry/EditElement1d.cs b/GsaGH/Components/2_Geometry/EditElement1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditElement1d.cs rename to GsaGH/Components/2_Geometry/EditElement1d.cs diff --git a/GhSA/Components/2_Geometry/EditElement2d.cs b/GsaGH/Components/2_Geometry/EditElement2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditElement2d.cs rename to GsaGH/Components/2_Geometry/EditElement2d.cs diff --git a/GhSA/Components/2_Geometry/EditElement3d.cs b/GsaGH/Components/2_Geometry/EditElement3d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditElement3d.cs rename to GsaGH/Components/2_Geometry/EditElement3d.cs diff --git a/GhSA/Components/2_Geometry/EditMember1d.cs b/GsaGH/Components/2_Geometry/EditMember1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditMember1d.cs rename to GsaGH/Components/2_Geometry/EditMember1d.cs diff --git a/GhSA/Components/2_Geometry/EditMember2d.cs b/GsaGH/Components/2_Geometry/EditMember2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditMember2d.cs rename to GsaGH/Components/2_Geometry/EditMember2d.cs diff --git a/GhSA/Components/2_Geometry/EditMember3d.cs b/GsaGH/Components/2_Geometry/EditMember3d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditMember3d.cs rename to GsaGH/Components/2_Geometry/EditMember3d.cs diff --git a/GhSA/Components/2_Geometry/EditNode.cs b/GsaGH/Components/2_Geometry/EditNode.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditNode.cs rename to GsaGH/Components/2_Geometry/EditNode.cs diff --git a/GhSA/Components/2_Geometry/Elem2dFromBrep.cs b/GsaGH/Components/2_Geometry/Elem2dFromBrep.cs similarity index 100% rename from GhSA/Components/2_Geometry/Elem2dFromBrep.cs rename to GsaGH/Components/2_Geometry/Elem2dFromBrep.cs diff --git a/GhSA/Components/2_Geometry/ElemFromMem.cs b/GsaGH/Components/2_Geometry/ElemFromMem.cs similarity index 100% rename from GhSA/Components/2_Geometry/ElemFromMem.cs rename to GsaGH/Components/2_Geometry/ElemFromMem.cs diff --git a/GhSA/Components/2_Geometry/LocalAxis.cs b/GsaGH/Components/2_Geometry/LocalAxis.cs similarity index 100% rename from GhSA/Components/2_Geometry/LocalAxis.cs rename to GsaGH/Components/2_Geometry/LocalAxis.cs diff --git a/GhSA/Components/3_Loads/CreateBeamLoads.cs b/GsaGH/Components/3_Loads/CreateBeamLoads.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateBeamLoads.cs rename to GsaGH/Components/3_Loads/CreateBeamLoads.cs diff --git a/GhSA/Components/3_Loads/CreateFaceLoads.cs b/GsaGH/Components/3_Loads/CreateFaceLoads.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateFaceLoads.cs rename to GsaGH/Components/3_Loads/CreateFaceLoads.cs diff --git a/GhSA/Components/3_Loads/CreateGravityLoad.cs b/GsaGH/Components/3_Loads/CreateGravityLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGravityLoad.cs rename to GsaGH/Components/3_Loads/CreateGravityLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridAreaLoad.cs b/GsaGH/Components/3_Loads/CreateGridAreaLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridAreaLoad.cs rename to GsaGH/Components/3_Loads/CreateGridAreaLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridLineLoad.cs b/GsaGH/Components/3_Loads/CreateGridLineLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridLineLoad.cs rename to GsaGH/Components/3_Loads/CreateGridLineLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridPlane.cs b/GsaGH/Components/3_Loads/CreateGridPlane.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridPlane.cs rename to GsaGH/Components/3_Loads/CreateGridPlane.cs diff --git a/GhSA/Components/3_Loads/CreateGridPointLoad.cs b/GsaGH/Components/3_Loads/CreateGridPointLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridPointLoad.cs rename to GsaGH/Components/3_Loads/CreateGridPointLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridSurface.cs b/GsaGH/Components/3_Loads/CreateGridSurface.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridSurface.cs rename to GsaGH/Components/3_Loads/CreateGridSurface.cs diff --git a/GhSA/Components/3_Loads/CreateNodeLoads.cs b/GsaGH/Components/3_Loads/CreateNodeLoads.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateNodeLoads.cs rename to GsaGH/Components/3_Loads/CreateNodeLoads.cs diff --git a/GhSA/Components/3_Loads/GridPlaneSurfaceProperties.cs b/GsaGH/Components/3_Loads/GridPlaneSurfaceProperties.cs similarity index 100% rename from GhSA/Components/3_Loads/GridPlaneSurfaceProperties.cs rename to GsaGH/Components/3_Loads/GridPlaneSurfaceProperties.cs diff --git a/GhSA/Components/3_Loads/LoadProperties.cs b/GsaGH/Components/3_Loads/LoadProperties.cs similarity index 100% rename from GhSA/Components/3_Loads/LoadProperties.cs rename to GsaGH/Components/3_Loads/LoadProperties.cs diff --git a/GhSA/Components/4_Analysis/Analyse.cs b/GsaGH/Components/4_Analysis/Analyse.cs similarity index 100% rename from GhSA/Components/4_Analysis/Analyse.cs rename to GsaGH/Components/4_Analysis/Analyse.cs diff --git a/GhSA/Components/4_Analysis/AnalysisCaseInfo.cs b/GsaGH/Components/4_Analysis/AnalysisCaseInfo.cs similarity index 100% rename from GhSA/Components/4_Analysis/AnalysisCaseInfo.cs rename to GsaGH/Components/4_Analysis/AnalysisCaseInfo.cs diff --git a/GhSA/Components/4_Analysis/CreateAnalysisCase.cs b/GsaGH/Components/4_Analysis/CreateAnalysisCase.cs similarity index 100% rename from GhSA/Components/4_Analysis/CreateAnalysisCase.cs rename to GsaGH/Components/4_Analysis/CreateAnalysisCase.cs diff --git a/GhSA/Components/4_Analysis/CreateAnalysisTask.cs b/GsaGH/Components/4_Analysis/CreateAnalysisTask.cs similarity index 100% rename from GhSA/Components/4_Analysis/CreateAnalysisTask.cs rename to GsaGH/Components/4_Analysis/CreateAnalysisTask.cs diff --git a/GhSA/Components/4_Analysis/CreateCombinationCase.cs b/GsaGH/Components/4_Analysis/CreateCombinationCase.cs similarity index 100% rename from GhSA/Components/4_Analysis/CreateCombinationCase.cs rename to GsaGH/Components/4_Analysis/CreateCombinationCase.cs diff --git a/GhSA/Components/4_Analysis/EditAnalysisTask.cs b/GsaGH/Components/4_Analysis/EditAnalysisTask.cs similarity index 100% rename from GhSA/Components/4_Analysis/EditAnalysisTask.cs rename to GsaGH/Components/4_Analysis/EditAnalysisTask.cs diff --git a/GhSA/Components/5_Results/BeamDispResult.cs b/GsaGH/Components/5_Results/BeamDispResult.cs similarity index 100% rename from GhSA/Components/5_Results/BeamDispResult.cs rename to GsaGH/Components/5_Results/BeamDispResult.cs diff --git a/GhSA/Components/5_Results/BeamForceResult.cs b/GsaGH/Components/5_Results/BeamForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/BeamForceResult.cs rename to GsaGH/Components/5_Results/BeamForceResult.cs diff --git a/GhSA/Components/5_Results/BeamStrainEnergyResult.cs b/GsaGH/Components/5_Results/BeamStrainEnergyResult.cs similarity index 100% rename from GhSA/Components/5_Results/BeamStrainEnergyResult.cs rename to GsaGH/Components/5_Results/BeamStrainEnergyResult.cs diff --git a/GhSA/Components/5_Results/Elem1dContourResults.cs b/GsaGH/Components/5_Results/Elem1dContourResults.cs similarity index 100% rename from GhSA/Components/5_Results/Elem1dContourResults.cs rename to GsaGH/Components/5_Results/Elem1dContourResults.cs diff --git a/GhSA/Components/5_Results/Elem2dContourResults.cs b/GsaGH/Components/5_Results/Elem2dContourResults.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dContourResults.cs rename to GsaGH/Components/5_Results/Elem2dContourResults.cs diff --git a/GhSA/Components/5_Results/Elem2dDisplacementResult.cs b/GsaGH/Components/5_Results/Elem2dDisplacementResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dDisplacementResult.cs rename to GsaGH/Components/5_Results/Elem2dDisplacementResult.cs diff --git a/GhSA/Components/5_Results/Elem2dForceResult.cs b/GsaGH/Components/5_Results/Elem2dForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dForceResult.cs rename to GsaGH/Components/5_Results/Elem2dForceResult.cs diff --git a/GhSA/Components/5_Results/Elem2dStressResult.cs b/GsaGH/Components/5_Results/Elem2dStressResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dStressResult.cs rename to GsaGH/Components/5_Results/Elem2dStressResult.cs diff --git a/GhSA/Components/5_Results/Elem3dDisplacementResult.cs b/GsaGH/Components/5_Results/Elem3dDisplacementResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem3dDisplacementResult.cs rename to GsaGH/Components/5_Results/Elem3dDisplacementResult.cs diff --git a/GhSA/Components/5_Results/Elem3dStressResult.cs b/GsaGH/Components/5_Results/Elem3dStressResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem3dStressResult.cs rename to GsaGH/Components/5_Results/Elem3dStressResult.cs diff --git a/GhSA/Components/5_Results/GlobalPerformanceResults.cs b/GsaGH/Components/5_Results/GlobalPerformanceResults.cs similarity index 100% rename from GhSA/Components/5_Results/GlobalPerformanceResults.cs rename to GsaGH/Components/5_Results/GlobalPerformanceResults.cs diff --git a/GhSA/Components/5_Results/NodeContourResults.cs b/GsaGH/Components/5_Results/NodeContourResults.cs similarity index 100% rename from GhSA/Components/5_Results/NodeContourResults.cs rename to GsaGH/Components/5_Results/NodeContourResults.cs diff --git a/GhSA/Components/5_Results/NodeDisplacementResult.cs b/GsaGH/Components/5_Results/NodeDisplacementResult.cs similarity index 100% rename from GhSA/Components/5_Results/NodeDisplacementResult.cs rename to GsaGH/Components/5_Results/NodeDisplacementResult.cs diff --git a/GhSA/Components/5_Results/NodeReactionForceResult.cs b/GsaGH/Components/5_Results/NodeReactionForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/NodeReactionForceResult.cs rename to GsaGH/Components/5_Results/NodeReactionForceResult.cs diff --git a/GhSA/Components/5_Results/SelectResults.cs b/GsaGH/Components/5_Results/SelectResults.cs similarity index 100% rename from GhSA/Components/5_Results/SelectResults.cs rename to GsaGH/Components/5_Results/SelectResults.cs diff --git a/GhSA/Components/5_Results/SpringReactionForceResult.cs b/GsaGH/Components/5_Results/SpringReactionForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/SpringReactionForceResult.cs rename to GsaGH/Components/5_Results/SpringReactionForceResult.cs diff --git a/GhSA/Components/5_Results/TotalLoadsAndReactionResults.cs b/GsaGH/Components/5_Results/TotalLoadsAndReactionResults.cs similarity index 100% rename from GhSA/Components/5_Results/TotalLoadsAndReactionResults.cs rename to GsaGH/Components/5_Results/TotalLoadsAndReactionResults.cs diff --git a/GhSA/Components/GH_OasysComponent.cs b/GsaGH/Components/GH_OasysComponent.cs similarity index 100% rename from GhSA/Components/GH_OasysComponent.cs rename to GsaGH/Components/GH_OasysComponent.cs diff --git a/GhSA/Components/GH_OasysTaskCapableComponent.cs b/GsaGH/Components/GH_OasysTaskCapableComponent.cs similarity index 100% rename from GhSA/Components/GH_OasysTaskCapableComponent.cs rename to GsaGH/Components/GH_OasysTaskCapableComponent.cs diff --git a/GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs similarity index 99% rename from GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs index 142ec556c..031ea41a6 100644 --- a/GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs @@ -8,9 +8,9 @@ //using Grasshopper.Kernel.Parameters; //using Rhino.Geometry; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class CreateBeamLoads_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent // { @@ -23,7 +23,7 @@ // public override Guid ComponentGuid => new Guid("a2bc3c66-eb22-43ec-9936-84d2944be414"); // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.BeamLoad; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.BeamLoad; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs similarity index 99% rename from GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs index 892f89b3f..4938ef913 100644 --- a/GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs @@ -8,9 +8,9 @@ //using Grasshopper.Kernel.Parameters; //using Rhino.Geometry; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class CreateFaceLoads_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent // { @@ -23,7 +23,7 @@ // public override Guid ComponentGuid => new Guid("55aeaf97-ef0c-4061-a391-a6419448a0b5"); // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.FaceLoad; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.FaceLoad; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs index 1a708a0d3..b541ac6cd 100644 --- a/GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs @@ -5,9 +5,9 @@ //using Grasshopper.Kernel.Types; //using GsaAPI; //using Rhino.Geometry; -//using GhSA.Parameters; +//using GsaGH.Parameters; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class CreateGridAreaLoad_OBSOLETE : GH_OasysComponent // { @@ -20,7 +20,7 @@ // public override Guid ComponentGuid => new Guid("9d775938-69fc-441f-b766-9cd1d8259e5a"); // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GridAreaLoad; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GridAreaLoad; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs index 0f0c54884..000e56955 100644 --- a/GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs @@ -5,9 +5,9 @@ //using Grasshopper.Kernel.Types; //using GsaAPI; //using Rhino.Geometry; -//using GhSA.Parameters; +//using GsaGH.Parameters; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class CreateGridLineLoad_OBSOLETE : GH_OasysComponent // { @@ -20,7 +20,7 @@ // public override Guid ComponentGuid => new Guid("fdd95021-9193-4565-b56b-130f22ab13de"); // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GridLineLoad; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GridLineLoad; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs similarity index 97% rename from GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs index 8ecb3a15c..ba89abd91 100644 --- a/GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs @@ -3,9 +3,9 @@ //using Grasshopper.Kernel.Types; //using GsaAPI; //using Rhino.Geometry; -//using GhSA.Parameters; +//using GsaGH.Parameters; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class CreateGridPointLoad_OBSOLETE : GH_OasysComponent // { @@ -18,7 +18,7 @@ // public override Guid ComponentGuid => new Guid("844dbf7b-3750-445c-950d-b161b00a6757"); // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GridPointLoad; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GridPointLoad; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs index 92ecbd533..ee85c29e3 100644 --- a/GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs @@ -4,10 +4,10 @@ //using Grasshopper.Kernel.Types; //using GsaAPI; //using Rhino.Geometry; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using Grasshopper.Kernel.Parameters; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class CreateNodeLoad_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent // { @@ -20,7 +20,7 @@ // public override Guid ComponentGuid => new Guid("0e30f030-8fc0-4ffa-afd9-02b18c094006"); // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.NodeLoad; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.NodeLoad; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateOffset_OBSOLETE.cs similarity index 95% rename from GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateOffset_OBSOLETE.cs index 3002d1b4f..949edb357 100644 --- a/GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateOffset_OBSOLETE.cs @@ -9,10 +9,10 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // /// // /// Component to create a new Offset @@ -30,7 +30,7 @@ // { this.Hidden = true; } // sets the initial state of the component to hidden // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.CreateOffset; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.CreateOffset; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateProfile_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateProfile_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/CreateProfile_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateProfile_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs index 2e51dd4b2..69560d417 100644 --- a/GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs @@ -11,11 +11,11 @@ //using Grasshopper.Kernel.Parameters; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; //using UnitsNet; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // /// // /// Component to create a new Prop2d @@ -33,7 +33,7 @@ // { this.Hidden = true; } // sets the initial state of the component to hidden // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.CreateProp2d; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.CreateProp2d; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/CreateSpring.cs b/GsaGH/Components/GraveyardComp/CreateSpring.cs similarity index 96% rename from GhSA/Components/GraveyardComp/CreateSpring.cs rename to GsaGH/Components/GraveyardComp/CreateSpring.cs index d2c1dc62f..39ab8e8fd 100644 --- a/GhSA/Components/GraveyardComp/CreateSpring.cs +++ b/GsaGH/Components/GraveyardComp/CreateSpring.cs @@ -9,10 +9,10 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // /// // /// Component to create a new spring @@ -30,7 +30,7 @@ // { this.Hidden = true; } // sets the initial state of the component to hidden // public override GH_Exposure Exposure => GH_Exposure.hidden;// | GH_Exposure.obscure; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.CreateSpring; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.CreateSpring; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/EditNode_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/EditNode_OBSOLETE.cs index bc38bc3d0..843844802 100644 --- a/GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/EditNode_OBSOLETE.cs @@ -9,10 +9,10 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // /// // /// Component to edit a Node @@ -32,7 +32,7 @@ // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.EditNode; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.EditNode; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/EditSection_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/EditSection_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/EditSection_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/EditSection_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/EditSpring.cs b/GsaGH/Components/GraveyardComp/EditSpring.cs similarity index 96% rename from GhSA/Components/GraveyardComp/EditSpring.cs rename to GsaGH/Components/GraveyardComp/EditSpring.cs index 388d70fbf..a82d5a43f 100644 --- a/GhSA/Components/GraveyardComp/EditSpring.cs +++ b/GsaGH/Components/GraveyardComp/EditSpring.cs @@ -9,10 +9,10 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // /// // /// Component to edit a Spring and ouput the information @@ -30,7 +30,7 @@ // { this.Hidden = true; } // sets the initial state of the component to hidden // public override GH_Exposure Exposure => GH_Exposure.hidden;// | GH_Exposure.obscure; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.EditSpring; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.EditSpring; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/EditTitles_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/EditTitles_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/EditTitles_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/EditTitles_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/EditUnits_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/EditUnits_OBSOLETE.cs index 24ef9565a..ddb13f5b4 100644 --- a/GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/EditUnits_OBSOLETE.cs @@ -9,11 +9,11 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; //using Grasshopper.Documentation; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class EditGsaUnits_OBSOLETE : GH_OasysComponent // { @@ -28,7 +28,7 @@ // { this.Hidden = true; } // sets the initial state of the component to hidden // public override GH_Exposure Exposure => GH_Exposure.tertiary | GH_Exposure.obscure; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.EditUnits; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.EditUnits; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/GetGeometry_OBSOLETE.cs similarity index 98% rename from GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/GetGeometry_OBSOLETE.cs index 612500b8e..786466faa 100644 --- a/GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/GetGeometry_OBSOLETE.cs @@ -9,11 +9,11 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using Grasshopper.Kernel.Data; //using System.Collections.Concurrent; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // /// // /// Component to retrieve geometric objects from a GSA model @@ -33,7 +33,7 @@ // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GetGeometry; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GetGeometry; // #endregion // #region Custom UI diff --git a/GhSA/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs b/GsaGH/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs similarity index 100% rename from GhSA/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs rename to GsaGH/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs diff --git a/GhSA/Components/GraveyardComp/GlobalResult_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/GlobalResult_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/GlobalResult_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/GlobalResult_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/NodeResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/NodeResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/NodeResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/NodeResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/Version_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Version_OBSOLETE.cs similarity index 93% rename from GhSA/Components/GraveyardComp/Version_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Version_OBSOLETE.cs index 745e62787..415d68520 100644 --- a/GhSA/Components/GraveyardComp/Version_OBSOLETE.cs +++ b/GsaGH/Components/GraveyardComp/Version_OBSOLETE.cs @@ -9,13 +9,13 @@ //using System.Windows.Forms; //using Grasshopper.Kernel.Types; //using GsaAPI; -//using GhSA.Parameters; +//using GsaGH.Parameters; //using System.Resources; //using Grasshopper.Documentation; //using System.IO; -//namespace GhSA.Components +//namespace GsaGH.Components //{ // public class GsaVersion_OBSOLETE : GH_OasysComponent // { @@ -31,7 +31,7 @@ // public override GH_Exposure Exposure => GH_Exposure.hidden; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GsaVersion; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GsaVersion; // #endregion // #region Custom UI diff --git a/GhSA/Components/Lab/Version.cs b/GsaGH/Components/Lab/Version.cs similarity index 93% rename from GhSA/Components/Lab/Version.cs rename to GsaGH/Components/Lab/Version.cs index 808797dc1..dc660e89f 100644 --- a/GhSA/Components/Lab/Version.cs +++ b/GsaGH/Components/Lab/Version.cs @@ -9,13 +9,13 @@ using System.Windows.Forms; using Grasshopper.Kernel.Types; using GsaAPI; -using GhSA.Parameters; +using GsaGH.Parameters; using System.Resources; using Grasshopper.Documentation; using System.IO; -namespace GhSA.Components +namespace GsaGH.Components { public class GsaVersion : GH_OasysComponent { @@ -31,7 +31,7 @@ public GsaVersion() public override GH_Exposure Exposure => GH_Exposure.quarternary | GH_Exposure.obscure; - protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GsaVersion; + protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GsaVersion; #endregion #region Custom UI diff --git a/GhSA/Components/Other/ConvertUnitNumber.cs b/GsaGH/Components/Other/ConvertUnitNumber.cs similarity index 100% rename from GhSA/Components/Other/ConvertUnitNumber.cs rename to GsaGH/Components/Other/ConvertUnitNumber.cs diff --git a/GhSA/Components/Other/CreateUnitNumber.cs b/GsaGH/Components/Other/CreateUnitNumber.cs similarity index 100% rename from GhSA/Components/Other/CreateUnitNumber.cs rename to GsaGH/Components/Other/CreateUnitNumber.cs diff --git a/GhSA/GsaGH.csproj b/GsaGH/GsaGH.csproj similarity index 100% rename from GhSA/GsaGH.csproj rename to GsaGH/GsaGH.csproj diff --git a/GhSA/GsaGHInfo.cs b/GsaGH/GsaGHInfo.cs similarity index 99% rename from GhSA/GsaGHInfo.cs rename to GsaGH/GsaGHInfo.cs index af13583b2..ae365889d 100644 --- a/GhSA/GsaGHInfo.cs +++ b/GsaGH/GsaGHInfo.cs @@ -233,7 +233,7 @@ public string Icon_url get { // TODO to be updated - not supported by yak currently - return "https://raw.githubusercontent.com/arup-group/GSA-Grasshopper/master/GhSA/Properties/Icons/icons/4x/GsaGhLogo%404x.png"; + return "https://raw.githubusercontent.com/arup-group/GSA-Grasshopper/master/GsaGH/Properties/Icons/icons/4x/GsaGhLogo%404x.png"; } } diff --git a/GhSA/Helpers/Export/ConvertMembers.cs b/GsaGH/Helpers/Export/ConvertMembers.cs similarity index 100% rename from GhSA/Helpers/Export/ConvertMembers.cs rename to GsaGH/Helpers/Export/ConvertMembers.cs diff --git a/GhSA/Helpers/Export/ExportMembers.cs b/GsaGH/Helpers/Export/ExportMembers.cs similarity index 100% rename from GhSA/Helpers/Export/ExportMembers.cs rename to GsaGH/Helpers/Export/ExportMembers.cs diff --git a/GhSA/Helpers/Export/_GsaExport.cs b/GsaGH/Helpers/Export/_GsaExport.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExport.cs rename to GsaGH/Helpers/Export/_GsaExport.cs diff --git a/GhSA/Helpers/Export/_GsaExportElements.cs b/GsaGH/Helpers/Export/_GsaExportElements.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportElements.cs rename to GsaGH/Helpers/Export/_GsaExportElements.cs diff --git a/GhSA/Helpers/Export/_GsaExportLoads.cs b/GsaGH/Helpers/Export/_GsaExportLoads.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportLoads.cs rename to GsaGH/Helpers/Export/_GsaExportLoads.cs diff --git a/GhSA/Helpers/Export/_GsaExportNodes.cs b/GsaGH/Helpers/Export/_GsaExportNodes.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportNodes.cs rename to GsaGH/Helpers/Export/_GsaExportNodes.cs diff --git a/GhSA/Helpers/Export/_GsaExportProperties.cs b/GsaGH/Helpers/Export/_GsaExportProperties.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportProperties.cs rename to GsaGH/Helpers/Export/_GsaExportProperties.cs diff --git a/GhSA/Helpers/LoadMainMenu.cs b/GsaGH/Helpers/LoadMainMenu.cs similarity index 100% rename from GhSA/Helpers/LoadMainMenu.cs rename to GsaGH/Helpers/LoadMainMenu.cs diff --git a/GhSA/Helpers/PostHog.cs b/GsaGH/Helpers/PostHog.cs similarity index 100% rename from GhSA/Helpers/PostHog.cs rename to GsaGH/Helpers/PostHog.cs diff --git a/GhSA/Helpers/_Colour.cs b/GsaGH/Helpers/_Colour.cs similarity index 100% rename from GhSA/Helpers/_Colour.cs rename to GsaGH/Helpers/_Colour.cs diff --git a/GhSA/Helpers/_DeSerialization.cs b/GsaGH/Helpers/_DeSerialization.cs similarity index 100% rename from GhSA/Helpers/_DeSerialization.cs rename to GsaGH/Helpers/_DeSerialization.cs diff --git a/GhSA/Helpers/_Display.cs b/GsaGH/Helpers/_Display.cs similarity index 100% rename from GhSA/Helpers/_Display.cs rename to GsaGH/Helpers/_Display.cs diff --git a/GhSA/Helpers/_GetInput.cs b/GsaGH/Helpers/_GetInput.cs similarity index 100% rename from GhSA/Helpers/_GetInput.cs rename to GsaGH/Helpers/_GetInput.cs diff --git a/GhSA/Helpers/_GhRibbonLayout.cs b/GsaGH/Helpers/_GhRibbonLayout.cs similarity index 100% rename from GhSA/Helpers/_GhRibbonLayout.cs rename to GsaGH/Helpers/_GhRibbonLayout.cs diff --git a/GhSA/Helpers/_GsaImport.cs b/GsaGH/Helpers/_GsaImport.cs similarity index 100% rename from GhSA/Helpers/_GsaImport.cs rename to GsaGH/Helpers/_GsaImport.cs diff --git a/GhSA/Helpers/_GsaPath.cs b/GsaGH/Helpers/_GsaPath.cs similarity index 100% rename from GhSA/Helpers/_GsaPath.cs rename to GsaGH/Helpers/_GsaPath.cs diff --git a/GhSA/Helpers/_GsaProfileConvert.cs b/GsaGH/Helpers/_GsaProfileConvert.cs similarity index 100% rename from GhSA/Helpers/_GsaProfileConvert.cs rename to GsaGH/Helpers/_GsaProfileConvert.cs diff --git a/GhSA/Helpers/_GsaResultsHelper.cs b/GsaGH/Helpers/_GsaResultsHelper.cs similarity index 100% rename from GhSA/Helpers/_GsaResultsHelper.cs rename to GsaGH/Helpers/_GsaResultsHelper.cs diff --git a/GhSA/Helpers/_RhinoConversions.cs b/GsaGH/Helpers/_RhinoConversions.cs similarity index 100% rename from GhSA/Helpers/_RhinoConversions.cs rename to GsaGH/Helpers/_RhinoConversions.cs diff --git a/GhSA/Helpers/_SqlReader.cs b/GsaGH/Helpers/_SqlReader.cs similarity index 100% rename from GhSA/Helpers/_SqlReader.cs rename to GsaGH/Helpers/_SqlReader.cs diff --git a/GhSA/Parameters/GH_UnitNumber.cs b/GsaGH/Parameters/GH_UnitNumber.cs similarity index 100% rename from GhSA/Parameters/GH_UnitNumber.cs rename to GsaGH/Parameters/GH_UnitNumber.cs diff --git a/GhSA/Parameters/GsaAnalysisCase.cs b/GsaGH/Parameters/GsaAnalysisCase.cs similarity index 100% rename from GhSA/Parameters/GsaAnalysisCase.cs rename to GsaGH/Parameters/GsaAnalysisCase.cs diff --git a/GhSA/Parameters/GsaAnalysisTask.cs b/GsaGH/Parameters/GsaAnalysisTask.cs similarity index 100% rename from GhSA/Parameters/GsaAnalysisTask.cs rename to GsaGH/Parameters/GsaAnalysisTask.cs diff --git a/GhSA/Parameters/GsaBool6Param.cs b/GsaGH/Parameters/GsaBool6Param.cs similarity index 100% rename from GhSA/Parameters/GsaBool6Param.cs rename to GsaGH/Parameters/GsaBool6Param.cs diff --git a/GhSA/Parameters/GsaCombinationCase.cs b/GsaGH/Parameters/GsaCombinationCase.cs similarity index 100% rename from GhSA/Parameters/GsaCombinationCase.cs rename to GsaGH/Parameters/GsaCombinationCase.cs diff --git a/GhSA/Parameters/GsaElem1dParam.cs b/GsaGH/Parameters/GsaElem1dParam.cs similarity index 100% rename from GhSA/Parameters/GsaElem1dParam.cs rename to GsaGH/Parameters/GsaElem1dParam.cs diff --git a/GhSA/Parameters/GsaElem2dParam.cs b/GsaGH/Parameters/GsaElem2dParam.cs similarity index 100% rename from GhSA/Parameters/GsaElem2dParam.cs rename to GsaGH/Parameters/GsaElem2dParam.cs diff --git a/GhSA/Parameters/GsaElem3dParam.cs b/GsaGH/Parameters/GsaElem3dParam.cs similarity index 100% rename from GhSA/Parameters/GsaElem3dParam.cs rename to GsaGH/Parameters/GsaElem3dParam.cs diff --git a/GhSA/Parameters/GsaGridPlaneSurfaceParam.cs b/GsaGH/Parameters/GsaGridPlaneSurfaceParam.cs similarity index 100% rename from GhSA/Parameters/GsaGridPlaneSurfaceParam.cs rename to GsaGH/Parameters/GsaGridPlaneSurfaceParam.cs diff --git a/GhSA/Parameters/GsaLoadParam.cs b/GsaGH/Parameters/GsaLoadParam.cs similarity index 100% rename from GhSA/Parameters/GsaLoadParam.cs rename to GsaGH/Parameters/GsaLoadParam.cs diff --git a/GhSA/Parameters/GsaMaterial.cs b/GsaGH/Parameters/GsaMaterial.cs similarity index 100% rename from GhSA/Parameters/GsaMaterial.cs rename to GsaGH/Parameters/GsaMaterial.cs diff --git a/GhSA/Parameters/GsaMem1dParam.cs b/GsaGH/Parameters/GsaMem1dParam.cs similarity index 100% rename from GhSA/Parameters/GsaMem1dParam.cs rename to GsaGH/Parameters/GsaMem1dParam.cs diff --git a/GhSA/Parameters/GsaMem2dParam.cs b/GsaGH/Parameters/GsaMem2dParam.cs similarity index 100% rename from GhSA/Parameters/GsaMem2dParam.cs rename to GsaGH/Parameters/GsaMem2dParam.cs diff --git a/GhSA/Parameters/GsaMem3dParam.cs b/GsaGH/Parameters/GsaMem3dParam.cs similarity index 100% rename from GhSA/Parameters/GsaMem3dParam.cs rename to GsaGH/Parameters/GsaMem3dParam.cs diff --git a/GhSA/Parameters/GsaModelParam.cs b/GsaGH/Parameters/GsaModelParam.cs similarity index 100% rename from GhSA/Parameters/GsaModelParam.cs rename to GsaGH/Parameters/GsaModelParam.cs diff --git a/GhSA/Parameters/GsaNodeParam.cs b/GsaGH/Parameters/GsaNodeParam.cs similarity index 100% rename from GhSA/Parameters/GsaNodeParam.cs rename to GsaGH/Parameters/GsaNodeParam.cs diff --git a/GhSA/Parameters/GsaOffsetParam.cs b/GsaGH/Parameters/GsaOffsetParam.cs similarity index 100% rename from GhSA/Parameters/GsaOffsetParam.cs rename to GsaGH/Parameters/GsaOffsetParam.cs diff --git a/GhSA/Parameters/GsaProp2d.cs b/GsaGH/Parameters/GsaProp2d.cs similarity index 100% rename from GhSA/Parameters/GsaProp2d.cs rename to GsaGH/Parameters/GsaProp2d.cs diff --git a/GhSA/Parameters/GsaProp3d.cs b/GsaGH/Parameters/GsaProp3d.cs similarity index 100% rename from GhSA/Parameters/GsaProp3d.cs rename to GsaGH/Parameters/GsaProp3d.cs diff --git a/GhSA/Parameters/GsaResult.cs b/GsaGH/Parameters/GsaResult.cs similarity index 100% rename from GhSA/Parameters/GsaResult.cs rename to GsaGH/Parameters/GsaResult.cs diff --git a/GhSA/Parameters/GsaSection.cs b/GsaGH/Parameters/GsaSection.cs similarity index 100% rename from GhSA/Parameters/GsaSection.cs rename to GsaGH/Parameters/GsaSection.cs diff --git a/GhSA/Parameters/GsaSectionModifierParam.cs b/GsaGH/Parameters/GsaSectionModifierParam.cs similarity index 100% rename from GhSA/Parameters/GsaSectionModifierParam.cs rename to GsaGH/Parameters/GsaSectionModifierParam.cs diff --git a/GhSA/Parameters/GsaSpringParam.cs b/GsaGH/Parameters/GsaSpringParam.cs similarity index 96% rename from GhSA/Parameters/GsaSpringParam.cs rename to GsaGH/Parameters/GsaSpringParam.cs index 18c7806d7..38f744409 100644 --- a/GhSA/Parameters/GsaSpringParam.cs +++ b/GsaGH/Parameters/GsaSpringParam.cs @@ -7,11 +7,11 @@ //using Grasshopper.Kernel.Types; //using Rhino.Geometry; //using Rhino; -//using GhSA.Util.Gsa; +//using GsaGH.Util.Gsa; //using Grasshopper.Documentation; //using Rhino.Collections; -//namespace GhSA.Parameters +//namespace GsaGH.Parameters //{ // /// // /// Spring class, this class defines the basic properties and methods for any Gsa Spring @@ -256,7 +256,7 @@ // public class GsaSpringParameter : GH_PersistentParam // { // public GsaSpringParameter() -// : base(new GH_InstanceDescription("Spring", "PS", "GSA Spring (Type: General)", GhSA.Components.Ribbon.CategoryName.Name(), GhSA.Components.Ribbon.SubCategoryName.Cat9())) +// : base(new GH_InstanceDescription("Spring", "PS", "GSA Spring (Type: General)", GsaGH.Components.Ribbon.CategoryName.Name(), GsaGH.Components.Ribbon.SubCategoryName.Cat9())) // { // } @@ -264,7 +264,7 @@ // public override GH_Exposure Exposure => GH_Exposure.secondary | GH_Exposure.obscure; -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GsaSpring; +// protected override System.Drawing.Bitmap Icon => GsaGH.Properties.Resources.GsaSpring; // //We do not allow users to pick parameter, // //therefore the following 4 methods disable all this ui. diff --git a/GhSA/Parameters/_ResultLine.cs b/GsaGH/Parameters/_ResultLine.cs similarity index 100% rename from GhSA/Parameters/_ResultLine.cs rename to GsaGH/Parameters/_ResultLine.cs diff --git a/GhSA/Parameters/_ResultMesh.cs b/GsaGH/Parameters/_ResultMesh.cs similarity index 100% rename from GhSA/Parameters/_ResultMesh.cs rename to GsaGH/Parameters/_ResultMesh.cs diff --git a/GhSA/Parameters/_ResultPoint.cs b/GsaGH/Parameters/_ResultPoint.cs similarity index 100% rename from GhSA/Parameters/_ResultPoint.cs rename to GsaGH/Parameters/_ResultPoint.cs diff --git a/GhSA/Parameters/_Titles.cs b/GsaGH/Parameters/_Titles.cs similarity index 100% rename from GhSA/Parameters/_Titles.cs rename to GsaGH/Parameters/_Titles.cs diff --git a/GhSA/Parameters/_Units.cs b/GsaGH/Parameters/_Units.cs similarity index 100% rename from GhSA/Parameters/_Units.cs rename to GsaGH/Parameters/_Units.cs diff --git a/GhSA/Properties/AssemblyInfo.cs b/GsaGH/Properties/AssemblyInfo.cs similarity index 100% rename from GhSA/Properties/AssemblyInfo.cs rename to GsaGH/Properties/AssemblyInfo.cs diff --git a/GhSA/Properties/Icons/Analyse.png b/GsaGH/Properties/Icons/Analyse.png similarity index 100% rename from GhSA/Properties/Icons/Analyse.png rename to GsaGH/Properties/Icons/Analyse.png diff --git a/GhSA/Properties/Icons/AnalysisCaseInfo.png b/GsaGH/Properties/Icons/AnalysisCaseInfo.png similarity index 100% rename from GhSA/Properties/Icons/AnalysisCaseInfo.png rename to GsaGH/Properties/Icons/AnalysisCaseInfo.png diff --git a/GhSA/Properties/Icons/AnalysisCaseParam.png b/GsaGH/Properties/Icons/AnalysisCaseParam.png similarity index 100% rename from GhSA/Properties/Icons/AnalysisCaseParam.png rename to GsaGH/Properties/Icons/AnalysisCaseParam.png diff --git a/GhSA/Properties/Icons/AnalysisTaskParam.png b/GsaGH/Properties/Icons/AnalysisTaskParam.png similarity index 100% rename from GhSA/Properties/Icons/AnalysisTaskParam.png rename to GsaGH/Properties/Icons/AnalysisTaskParam.png diff --git a/GhSA/Properties/Icons/AreaLoad.png b/GsaGH/Properties/Icons/AreaLoad.png similarity index 100% rename from GhSA/Properties/Icons/AreaLoad.png rename to GsaGH/Properties/Icons/AreaLoad.png diff --git a/GhSA/Properties/Icons/BeamDisplacement.png b/GsaGH/Properties/Icons/BeamDisplacement.png similarity index 100% rename from GhSA/Properties/Icons/BeamDisplacement.png rename to GsaGH/Properties/Icons/BeamDisplacement.png diff --git a/GhSA/Properties/Icons/BeamForces.png b/GsaGH/Properties/Icons/BeamForces.png similarity index 100% rename from GhSA/Properties/Icons/BeamForces.png rename to GsaGH/Properties/Icons/BeamForces.png diff --git a/GhSA/Properties/Icons/BeamLoad.png b/GsaGH/Properties/Icons/BeamLoad.png similarity index 100% rename from GhSA/Properties/Icons/BeamLoad.png rename to GsaGH/Properties/Icons/BeamLoad.png diff --git a/GhSA/Properties/Icons/Bool6Param.png b/GsaGH/Properties/Icons/Bool6Param.png similarity index 100% rename from GhSA/Properties/Icons/Bool6Param.png rename to GsaGH/Properties/Icons/Bool6Param.png diff --git a/GhSA/Properties/Icons/ConvertUnitNumber.png b/GsaGH/Properties/Icons/ConvertUnitNumber.png similarity index 100% rename from GhSA/Properties/Icons/ConvertUnitNumber.png rename to GsaGH/Properties/Icons/ConvertUnitNumber.png diff --git a/GhSA/Properties/Icons/CreateAnalysisCase.png b/GsaGH/Properties/Icons/CreateAnalysisCase.png similarity index 100% rename from GhSA/Properties/Icons/CreateAnalysisCase.png rename to GsaGH/Properties/Icons/CreateAnalysisCase.png diff --git a/GhSA/Properties/Icons/CreateAnalysisTask.png b/GsaGH/Properties/Icons/CreateAnalysisTask.png similarity index 100% rename from GhSA/Properties/Icons/CreateAnalysisTask.png rename to GsaGH/Properties/Icons/CreateAnalysisTask.png diff --git a/GhSA/Properties/Icons/CreateBool6.png b/GsaGH/Properties/Icons/CreateBool6.png similarity index 100% rename from GhSA/Properties/Icons/CreateBool6.png rename to GsaGH/Properties/Icons/CreateBool6.png diff --git a/GhSA/Properties/Icons/CreateCombination.png b/GsaGH/Properties/Icons/CreateCombination.png similarity index 100% rename from GhSA/Properties/Icons/CreateCombination.png rename to GsaGH/Properties/Icons/CreateCombination.png diff --git a/GhSA/Properties/Icons/CreateCombinationCase.png b/GsaGH/Properties/Icons/CreateCombinationCase.png similarity index 100% rename from GhSA/Properties/Icons/CreateCombinationCase.png rename to GsaGH/Properties/Icons/CreateCombinationCase.png diff --git a/GhSA/Properties/Icons/CreateElem1d.png b/GsaGH/Properties/Icons/CreateElem1d.png similarity index 100% rename from GhSA/Properties/Icons/CreateElem1d.png rename to GsaGH/Properties/Icons/CreateElem1d.png diff --git a/GhSA/Properties/Icons/CreateElem2d.png b/GsaGH/Properties/Icons/CreateElem2d.png similarity index 100% rename from GhSA/Properties/Icons/CreateElem2d.png rename to GsaGH/Properties/Icons/CreateElem2d.png diff --git a/GhSA/Properties/Icons/CreateElem3d.png b/GsaGH/Properties/Icons/CreateElem3d.png similarity index 100% rename from GhSA/Properties/Icons/CreateElem3d.png rename to GsaGH/Properties/Icons/CreateElem3d.png diff --git a/GhSA/Properties/Icons/CreateElemsFromBreps.png b/GsaGH/Properties/Icons/CreateElemsFromBreps.png similarity index 100% rename from GhSA/Properties/Icons/CreateElemsFromBreps.png rename to GsaGH/Properties/Icons/CreateElemsFromBreps.png diff --git a/GhSA/Properties/Icons/CreateElemsFromMems.png b/GsaGH/Properties/Icons/CreateElemsFromMems.png similarity index 100% rename from GhSA/Properties/Icons/CreateElemsFromMems.png rename to GsaGH/Properties/Icons/CreateElemsFromMems.png diff --git a/GhSA/Properties/Icons/CreateMaterial.png b/GsaGH/Properties/Icons/CreateMaterial.png similarity index 100% rename from GhSA/Properties/Icons/CreateMaterial.png rename to GsaGH/Properties/Icons/CreateMaterial.png diff --git a/GhSA/Properties/Icons/CreateMem1d.png b/GsaGH/Properties/Icons/CreateMem1d.png similarity index 100% rename from GhSA/Properties/Icons/CreateMem1d.png rename to GsaGH/Properties/Icons/CreateMem1d.png diff --git a/GhSA/Properties/Icons/CreateMem2d.png b/GsaGH/Properties/Icons/CreateMem2d.png similarity index 100% rename from GhSA/Properties/Icons/CreateMem2d.png rename to GsaGH/Properties/Icons/CreateMem2d.png diff --git a/GhSA/Properties/Icons/CreateMem3d.png b/GsaGH/Properties/Icons/CreateMem3d.png similarity index 100% rename from GhSA/Properties/Icons/CreateMem3d.png rename to GsaGH/Properties/Icons/CreateMem3d.png diff --git a/GhSA/Properties/Icons/CreateModel.png b/GsaGH/Properties/Icons/CreateModel.png similarity index 100% rename from GhSA/Properties/Icons/CreateModel.png rename to GsaGH/Properties/Icons/CreateModel.png diff --git a/GhSA/Properties/Icons/CreateOffset.png b/GsaGH/Properties/Icons/CreateOffset.png similarity index 100% rename from GhSA/Properties/Icons/CreateOffset.png rename to GsaGH/Properties/Icons/CreateOffset.png diff --git a/GhSA/Properties/Icons/CreateProfile.png b/GsaGH/Properties/Icons/CreateProfile.png similarity index 100% rename from GhSA/Properties/Icons/CreateProfile.png rename to GsaGH/Properties/Icons/CreateProfile.png diff --git a/GhSA/Properties/Icons/CreateProp2d.png b/GsaGH/Properties/Icons/CreateProp2d.png similarity index 100% rename from GhSA/Properties/Icons/CreateProp2d.png rename to GsaGH/Properties/Icons/CreateProp2d.png diff --git a/GhSA/Properties/Icons/CreateProp3d.png b/GsaGH/Properties/Icons/CreateProp3d.png similarity index 100% rename from GhSA/Properties/Icons/CreateProp3d.png rename to GsaGH/Properties/Icons/CreateProp3d.png diff --git a/GhSA/Properties/Icons/CreateSection.png b/GsaGH/Properties/Icons/CreateSection.png similarity index 100% rename from GhSA/Properties/Icons/CreateSection.png rename to GsaGH/Properties/Icons/CreateSection.png diff --git a/GhSA/Properties/Icons/CreateSectionModifier.png b/GsaGH/Properties/Icons/CreateSectionModifier.png similarity index 100% rename from GhSA/Properties/Icons/CreateSectionModifier.png rename to GsaGH/Properties/Icons/CreateSectionModifier.png diff --git a/GhSA/Properties/Icons/CreateSpring.png b/GsaGH/Properties/Icons/CreateSpring.png similarity index 100% rename from GhSA/Properties/Icons/CreateSpring.png rename to GsaGH/Properties/Icons/CreateSpring.png diff --git a/GhSA/Properties/Icons/CreateSupport.png b/GsaGH/Properties/Icons/CreateSupport.png similarity index 100% rename from GhSA/Properties/Icons/CreateSupport.png rename to GsaGH/Properties/Icons/CreateSupport.png diff --git a/GhSA/Properties/Icons/CreateUnitNumber.png b/GsaGH/Properties/Icons/CreateUnitNumber.png similarity index 100% rename from GhSA/Properties/Icons/CreateUnitNumber.png rename to GsaGH/Properties/Icons/CreateUnitNumber.png diff --git a/GhSA/Properties/Icons/CustomMaterial.png b/GsaGH/Properties/Icons/CustomMaterial.png similarity index 100% rename from GhSA/Properties/Icons/CustomMaterial.png rename to GsaGH/Properties/Icons/CustomMaterial.png diff --git a/GhSA/Properties/Icons/Displacement2D.png b/GsaGH/Properties/Icons/Displacement2D.png similarity index 100% rename from GhSA/Properties/Icons/Displacement2D.png rename to GsaGH/Properties/Icons/Displacement2D.png diff --git a/GhSA/Properties/Icons/Displacement3D.png b/GsaGH/Properties/Icons/Displacement3D.png similarity index 100% rename from GhSA/Properties/Icons/Displacement3D.png rename to GsaGH/Properties/Icons/Displacement3D.png diff --git a/GhSA/Properties/Icons/Documentation.png b/GsaGH/Properties/Icons/Documentation.png similarity index 100% rename from GhSA/Properties/Icons/Documentation.png rename to GsaGH/Properties/Icons/Documentation.png diff --git a/GhSA/Properties/Icons/EditAnalysisTask.png b/GsaGH/Properties/Icons/EditAnalysisTask.png similarity index 100% rename from GhSA/Properties/Icons/EditAnalysisTask.png rename to GsaGH/Properties/Icons/EditAnalysisTask.png diff --git a/GhSA/Properties/Icons/EditBool6.png b/GsaGH/Properties/Icons/EditBool6.png similarity index 100% rename from GhSA/Properties/Icons/EditBool6.png rename to GsaGH/Properties/Icons/EditBool6.png diff --git a/GhSA/Properties/Icons/EditElem1d.png b/GsaGH/Properties/Icons/EditElem1d.png similarity index 100% rename from GhSA/Properties/Icons/EditElem1d.png rename to GsaGH/Properties/Icons/EditElem1d.png diff --git a/GhSA/Properties/Icons/EditElem2d.png b/GsaGH/Properties/Icons/EditElem2d.png similarity index 100% rename from GhSA/Properties/Icons/EditElem2d.png rename to GsaGH/Properties/Icons/EditElem2d.png diff --git a/GhSA/Properties/Icons/EditElem3d.png b/GsaGH/Properties/Icons/EditElem3d.png similarity index 100% rename from GhSA/Properties/Icons/EditElem3d.png rename to GsaGH/Properties/Icons/EditElem3d.png diff --git a/GhSA/Properties/Icons/EditMaterial.png b/GsaGH/Properties/Icons/EditMaterial.png similarity index 100% rename from GhSA/Properties/Icons/EditMaterial.png rename to GsaGH/Properties/Icons/EditMaterial.png diff --git a/GhSA/Properties/Icons/EditMem1d.png b/GsaGH/Properties/Icons/EditMem1d.png similarity index 100% rename from GhSA/Properties/Icons/EditMem1d.png rename to GsaGH/Properties/Icons/EditMem1d.png diff --git a/GhSA/Properties/Icons/EditMem2d.png b/GsaGH/Properties/Icons/EditMem2d.png similarity index 100% rename from GhSA/Properties/Icons/EditMem2d.png rename to GsaGH/Properties/Icons/EditMem2d.png diff --git a/GhSA/Properties/Icons/EditMem3d.png b/GsaGH/Properties/Icons/EditMem3d.png similarity index 100% rename from GhSA/Properties/Icons/EditMem3d.png rename to GsaGH/Properties/Icons/EditMem3d.png diff --git a/GhSA/Properties/Icons/EditNode.png b/GsaGH/Properties/Icons/EditNode.png similarity index 100% rename from GhSA/Properties/Icons/EditNode.png rename to GsaGH/Properties/Icons/EditNode.png diff --git a/GhSA/Properties/Icons/EditOffset.png b/GsaGH/Properties/Icons/EditOffset.png similarity index 100% rename from GhSA/Properties/Icons/EditOffset.png rename to GsaGH/Properties/Icons/EditOffset.png diff --git a/GhSA/Properties/Icons/EditProp2d.png b/GsaGH/Properties/Icons/EditProp2d.png similarity index 100% rename from GhSA/Properties/Icons/EditProp2d.png rename to GsaGH/Properties/Icons/EditProp2d.png diff --git a/GhSA/Properties/Icons/EditProp3d.png b/GsaGH/Properties/Icons/EditProp3d.png similarity index 100% rename from GhSA/Properties/Icons/EditProp3d.png rename to GsaGH/Properties/Icons/EditProp3d.png diff --git a/GhSA/Properties/Icons/EditSection.png b/GsaGH/Properties/Icons/EditSection.png similarity index 100% rename from GhSA/Properties/Icons/EditSection.png rename to GsaGH/Properties/Icons/EditSection.png diff --git a/GhSA/Properties/Icons/EditSectionModifier.png b/GsaGH/Properties/Icons/EditSectionModifier.png similarity index 100% rename from GhSA/Properties/Icons/EditSectionModifier.png rename to GsaGH/Properties/Icons/EditSectionModifier.png diff --git a/GhSA/Properties/Icons/EditSpring.png b/GsaGH/Properties/Icons/EditSpring.png similarity index 100% rename from GhSA/Properties/Icons/EditSpring.png rename to GsaGH/Properties/Icons/EditSpring.png diff --git a/GhSA/Properties/Icons/Elem1dParam.png b/GsaGH/Properties/Icons/Elem1dParam.png similarity index 100% rename from GhSA/Properties/Icons/Elem1dParam.png rename to GsaGH/Properties/Icons/Elem1dParam.png diff --git a/GhSA/Properties/Icons/Elem2dParam.png b/GsaGH/Properties/Icons/Elem2dParam.png similarity index 100% rename from GhSA/Properties/Icons/Elem2dParam.png rename to GsaGH/Properties/Icons/Elem2dParam.png diff --git a/GhSA/Properties/Icons/Elem3dParam.png b/GsaGH/Properties/Icons/Elem3dParam.png similarity index 100% rename from GhSA/Properties/Icons/Elem3dParam.png rename to GsaGH/Properties/Icons/Elem3dParam.png diff --git a/GhSA/Properties/Icons/FaceLoad.png b/GsaGH/Properties/Icons/FaceLoad.png similarity index 100% rename from GhSA/Properties/Icons/FaceLoad.png rename to GsaGH/Properties/Icons/FaceLoad.png diff --git a/GhSA/Properties/Icons/Forces2D.png b/GsaGH/Properties/Icons/Forces2D.png similarity index 100% rename from GhSA/Properties/Icons/Forces2D.png rename to GsaGH/Properties/Icons/Forces2D.png diff --git a/GhSA/Properties/Icons/Forces3D.png b/GsaGH/Properties/Icons/Forces3D.png similarity index 100% rename from GhSA/Properties/Icons/Forces3D.png rename to GsaGH/Properties/Icons/Forces3D.png diff --git a/GhSA/Properties/Icons/GSAInfo.png b/GsaGH/Properties/Icons/GSAInfo.png similarity index 100% rename from GhSA/Properties/Icons/GSAInfo.png rename to GsaGH/Properties/Icons/GSAInfo.png diff --git a/GhSA/Properties/Icons/GSALogo.png b/GsaGH/Properties/Icons/GSALogo.png similarity index 100% rename from GhSA/Properties/Icons/GSALogo.png rename to GsaGH/Properties/Icons/GSALogo.png diff --git a/GhSA/Properties/Icons/GSALogo128.png b/GsaGH/Properties/Icons/GSALogo128.png similarity index 100% rename from GhSA/Properties/Icons/GSALogo128.png rename to GsaGH/Properties/Icons/GSALogo128.png diff --git a/GhSA/Properties/Icons/GetAnalysisTask.png b/GsaGH/Properties/Icons/GetAnalysisTask.png similarity index 100% rename from GhSA/Properties/Icons/GetAnalysisTask.png rename to GsaGH/Properties/Icons/GetAnalysisTask.png diff --git a/GhSA/Properties/Icons/GetGeometry.png b/GsaGH/Properties/Icons/GetGeometry.png similarity index 100% rename from GhSA/Properties/Icons/GetGeometry.png rename to GsaGH/Properties/Icons/GetGeometry.png diff --git a/GhSA/Properties/Icons/GetLoads.png b/GsaGH/Properties/Icons/GetLoads.png similarity index 100% rename from GhSA/Properties/Icons/GetLoads.png rename to GsaGH/Properties/Icons/GetLoads.png diff --git a/GhSA/Properties/Icons/GetSection.png b/GsaGH/Properties/Icons/GetSection.png similarity index 100% rename from GhSA/Properties/Icons/GetSection.png rename to GsaGH/Properties/Icons/GetSection.png diff --git a/GhSA/Properties/Icons/GlobalPerformance.png b/GsaGH/Properties/Icons/GlobalPerformance.png similarity index 100% rename from GhSA/Properties/Icons/GlobalPerformance.png rename to GsaGH/Properties/Icons/GlobalPerformance.png diff --git a/GhSA/Properties/Icons/GravityLoad.png b/GsaGH/Properties/Icons/GravityLoad.png similarity index 100% rename from GhSA/Properties/Icons/GravityLoad.png rename to GsaGH/Properties/Icons/GravityLoad.png diff --git a/GhSA/Properties/Icons/GridPlane.png b/GsaGH/Properties/Icons/GridPlane.png similarity index 100% rename from GhSA/Properties/Icons/GridPlane.png rename to GsaGH/Properties/Icons/GridPlane.png diff --git a/GhSA/Properties/Icons/GridPlaneParam.png b/GsaGH/Properties/Icons/GridPlaneParam.png similarity index 100% rename from GhSA/Properties/Icons/GridPlaneParam.png rename to GsaGH/Properties/Icons/GridPlaneParam.png diff --git a/GhSA/Properties/Icons/GridPlaneProperties.png b/GsaGH/Properties/Icons/GridPlaneProperties.png similarity index 100% rename from GhSA/Properties/Icons/GridPlaneProperties.png rename to GsaGH/Properties/Icons/GridPlaneProperties.png diff --git a/GhSA/Properties/Icons/GridSurface.png b/GsaGH/Properties/Icons/GridSurface.png similarity index 100% rename from GhSA/Properties/Icons/GridSurface.png rename to GsaGH/Properties/Icons/GridSurface.png diff --git a/GhSA/Properties/Icons/GsaLogo64.png b/GsaGH/Properties/Icons/GsaLogo64.png similarity index 100% rename from GhSA/Properties/Icons/GsaLogo64.png rename to GsaGH/Properties/Icons/GsaLogo64.png diff --git a/GhSA/Properties/Icons/LineLoad.png b/GsaGH/Properties/Icons/LineLoad.png similarity index 100% rename from GhSA/Properties/Icons/LineLoad.png rename to GsaGH/Properties/Icons/LineLoad.png diff --git a/GhSA/Properties/Icons/LoadInfo.png b/GsaGH/Properties/Icons/LoadInfo.png similarity index 100% rename from GhSA/Properties/Icons/LoadInfo.png rename to GsaGH/Properties/Icons/LoadInfo.png diff --git a/GhSA/Properties/Icons/LoadParam.png b/GsaGH/Properties/Icons/LoadParam.png similarity index 100% rename from GhSA/Properties/Icons/LoadParam.png rename to GsaGH/Properties/Icons/LoadParam.png diff --git a/GhSA/Properties/Icons/LocalAxes.png b/GsaGH/Properties/Icons/LocalAxes.png similarity index 100% rename from GhSA/Properties/Icons/LocalAxes.png rename to GsaGH/Properties/Icons/LocalAxes.png diff --git a/GhSA/Properties/Icons/MaterialParam.png b/GsaGH/Properties/Icons/MaterialParam.png similarity index 100% rename from GhSA/Properties/Icons/MaterialParam.png rename to GsaGH/Properties/Icons/MaterialParam.png diff --git a/GhSA/Properties/Icons/MaterialProperties.png b/GsaGH/Properties/Icons/MaterialProperties.png similarity index 100% rename from GhSA/Properties/Icons/MaterialProperties.png rename to GsaGH/Properties/Icons/MaterialProperties.png diff --git a/GhSA/Properties/Icons/Mem1dParam.png b/GsaGH/Properties/Icons/Mem1dParam.png similarity index 100% rename from GhSA/Properties/Icons/Mem1dParam.png rename to GsaGH/Properties/Icons/Mem1dParam.png diff --git a/GhSA/Properties/Icons/Mem2dParam.png b/GsaGH/Properties/Icons/Mem2dParam.png similarity index 100% rename from GhSA/Properties/Icons/Mem2dParam.png rename to GsaGH/Properties/Icons/Mem2dParam.png diff --git a/GhSA/Properties/Icons/Mem3dParam.png b/GsaGH/Properties/Icons/Mem3dParam.png similarity index 100% rename from GhSA/Properties/Icons/Mem3dParam.png rename to GsaGH/Properties/Icons/Mem3dParam.png diff --git a/GhSA/Properties/Icons/ModelParam.png b/GsaGH/Properties/Icons/ModelParam.png similarity index 100% rename from GhSA/Properties/Icons/ModelParam.png rename to GsaGH/Properties/Icons/ModelParam.png diff --git a/GhSA/Properties/Icons/NodeDisplacement.png b/GsaGH/Properties/Icons/NodeDisplacement.png similarity index 100% rename from GhSA/Properties/Icons/NodeDisplacement.png rename to GsaGH/Properties/Icons/NodeDisplacement.png diff --git a/GhSA/Properties/Icons/NodeLoad.png b/GsaGH/Properties/Icons/NodeLoad.png similarity index 100% rename from GhSA/Properties/Icons/NodeLoad.png rename to GsaGH/Properties/Icons/NodeLoad.png diff --git a/GhSA/Properties/Icons/NodeParam.png b/GsaGH/Properties/Icons/NodeParam.png similarity index 100% rename from GhSA/Properties/Icons/NodeParam.png rename to GsaGH/Properties/Icons/NodeParam.png diff --git a/GhSA/Properties/Icons/OffsetParam.png b/GsaGH/Properties/Icons/OffsetParam.png similarity index 100% rename from GhSA/Properties/Icons/OffsetParam.png rename to GsaGH/Properties/Icons/OffsetParam.png diff --git a/GhSA/Properties/Icons/OpenModel.png b/GsaGH/Properties/Icons/OpenModel.png similarity index 100% rename from GhSA/Properties/Icons/OpenModel.png rename to GsaGH/Properties/Icons/OpenModel.png diff --git a/GhSA/Properties/Icons/PointLoad.png b/GsaGH/Properties/Icons/PointLoad.png similarity index 100% rename from GhSA/Properties/Icons/PointLoad.png rename to GsaGH/Properties/Icons/PointLoad.png diff --git a/GhSA/Properties/Icons/Prop2dParam.png b/GsaGH/Properties/Icons/Prop2dParam.png similarity index 100% rename from GhSA/Properties/Icons/Prop2dParam.png rename to GsaGH/Properties/Icons/Prop2dParam.png diff --git a/GhSA/Properties/Icons/Prop3dParam.png b/GsaGH/Properties/Icons/Prop3dParam.png similarity index 100% rename from GhSA/Properties/Icons/Prop3dParam.png rename to GsaGH/Properties/Icons/Prop3dParam.png diff --git a/GhSA/Properties/Icons/ReactionForces.png b/GsaGH/Properties/Icons/ReactionForces.png similarity index 100% rename from GhSA/Properties/Icons/ReactionForces.png rename to GsaGH/Properties/Icons/ReactionForces.png diff --git a/GhSA/Properties/Icons/Result0D.png b/GsaGH/Properties/Icons/Result0D.png similarity index 100% rename from GhSA/Properties/Icons/Result0D.png rename to GsaGH/Properties/Icons/Result0D.png diff --git a/GhSA/Properties/Icons/Result1D.png b/GsaGH/Properties/Icons/Result1D.png similarity index 100% rename from GhSA/Properties/Icons/Result1D.png rename to GsaGH/Properties/Icons/Result1D.png diff --git a/GhSA/Properties/Icons/Result2D.png b/GsaGH/Properties/Icons/Result2D.png similarity index 100% rename from GhSA/Properties/Icons/Result2D.png rename to GsaGH/Properties/Icons/Result2D.png diff --git a/GhSA/Properties/Icons/Result3D.png b/GsaGH/Properties/Icons/Result3D.png similarity index 100% rename from GhSA/Properties/Icons/Result3D.png rename to GsaGH/Properties/Icons/Result3D.png diff --git a/GhSA/Properties/Icons/ResultGlobal.png b/GsaGH/Properties/Icons/ResultGlobal.png similarity index 100% rename from GhSA/Properties/Icons/ResultGlobal.png rename to GsaGH/Properties/Icons/ResultGlobal.png diff --git a/GhSA/Properties/Icons/ResultParam.png b/GsaGH/Properties/Icons/ResultParam.png similarity index 100% rename from GhSA/Properties/Icons/ResultParam.png rename to GsaGH/Properties/Icons/ResultParam.png diff --git a/GhSA/Properties/Icons/SaveModel.png b/GsaGH/Properties/Icons/SaveModel.png similarity index 100% rename from GhSA/Properties/Icons/SaveModel.png rename to GsaGH/Properties/Icons/SaveModel.png diff --git a/GhSA/Properties/Icons/SectionModifierParam.png b/GsaGH/Properties/Icons/SectionModifierParam.png similarity index 100% rename from GhSA/Properties/Icons/SectionModifierParam.png rename to GsaGH/Properties/Icons/SectionModifierParam.png diff --git a/GhSA/Properties/Icons/SectionParam.png b/GsaGH/Properties/Icons/SectionParam.png similarity index 100% rename from GhSA/Properties/Icons/SectionParam.png rename to GsaGH/Properties/Icons/SectionParam.png diff --git a/GhSA/Properties/Icons/SectionProperties.png b/GsaGH/Properties/Icons/SectionProperties.png similarity index 100% rename from GhSA/Properties/Icons/SectionProperties.png rename to GsaGH/Properties/Icons/SectionProperties.png diff --git a/GhSA/Properties/Icons/SelectResult.png b/GsaGH/Properties/Icons/SelectResult.png similarity index 100% rename from GhSA/Properties/Icons/SelectResult.png rename to GsaGH/Properties/Icons/SelectResult.png diff --git a/GhSA/Properties/Icons/SpringParam.png b/GsaGH/Properties/Icons/SpringParam.png similarity index 100% rename from GhSA/Properties/Icons/SpringParam.png rename to GsaGH/Properties/Icons/SpringParam.png diff --git a/GhSA/Properties/Icons/SpringReactionForces.png b/GsaGH/Properties/Icons/SpringReactionForces.png similarity index 100% rename from GhSA/Properties/Icons/SpringReactionForces.png rename to GsaGH/Properties/Icons/SpringReactionForces.png diff --git a/GhSA/Properties/Icons/StrainEnergyDensity.png b/GsaGH/Properties/Icons/StrainEnergyDensity.png similarity index 100% rename from GhSA/Properties/Icons/StrainEnergyDensity.png rename to GsaGH/Properties/Icons/StrainEnergyDensity.png diff --git a/GhSA/Properties/Icons/Stress2D.png b/GsaGH/Properties/Icons/Stress2D.png similarity index 100% rename from GhSA/Properties/Icons/Stress2D.png rename to GsaGH/Properties/Icons/Stress2D.png diff --git a/GhSA/Properties/Icons/Stress3D.png b/GsaGH/Properties/Icons/Stress3D.png similarity index 100% rename from GhSA/Properties/Icons/Stress3D.png rename to GsaGH/Properties/Icons/Stress3D.png diff --git a/GhSA/Properties/Icons/TaperProfile.png b/GsaGH/Properties/Icons/TaperProfile.png similarity index 100% rename from GhSA/Properties/Icons/TaperProfile.png rename to GsaGH/Properties/Icons/TaperProfile.png diff --git a/GhSA/Properties/Icons/Titles.png b/GsaGH/Properties/Icons/Titles.png similarity index 100% rename from GhSA/Properties/Icons/Titles.png rename to GsaGH/Properties/Icons/Titles.png diff --git a/GhSA/Properties/Icons/TotalLoadAndReaction.png b/GsaGH/Properties/Icons/TotalLoadAndReaction.png similarity index 100% rename from GhSA/Properties/Icons/TotalLoadAndReaction.png rename to GsaGH/Properties/Icons/TotalLoadAndReaction.png diff --git a/GhSA/Properties/Icons/UnitParam.png b/GsaGH/Properties/Icons/UnitParam.png similarity index 100% rename from GhSA/Properties/Icons/UnitParam.png rename to GsaGH/Properties/Icons/UnitParam.png diff --git a/GhSA/Properties/Icons/Units.png b/GsaGH/Properties/Icons/Units.png similarity index 100% rename from GhSA/Properties/Icons/Units.png rename to GsaGH/Properties/Icons/Units.png diff --git a/GhSA/Properties/Icons/path1220.png b/GsaGH/Properties/Icons/path1220.png similarity index 100% rename from GhSA/Properties/Icons/path1220.png rename to GsaGH/Properties/Icons/path1220.png diff --git a/GhSA/Properties/Icons/unused.png b/GsaGH/Properties/Icons/unused.png similarity index 100% rename from GhSA/Properties/Icons/unused.png rename to GsaGH/Properties/Icons/unused.png diff --git a/GhSA/Properties/Resources.Designer.cs b/GsaGH/Properties/Resources.Designer.cs similarity index 100% rename from GhSA/Properties/Resources.Designer.cs rename to GsaGH/Properties/Resources.Designer.cs diff --git a/GhSA/Properties/Resources.resx b/GsaGH/Properties/Resources.resx similarity index 100% rename from GhSA/Properties/Resources.resx rename to GsaGH/Properties/Resources.resx diff --git a/GhSA/UI/AboutBox.Designer.cs b/GsaGH/UI/AboutBox.Designer.cs similarity index 100% rename from GhSA/UI/AboutBox.Designer.cs rename to GsaGH/UI/AboutBox.Designer.cs diff --git a/GhSA/UI/AboutBox.cs b/GsaGH/UI/AboutBox.cs similarity index 100% rename from GhSA/UI/AboutBox.cs rename to GsaGH/UI/AboutBox.cs diff --git a/GhSA/UI/AboutBox.resx b/GsaGH/UI/AboutBox.resx similarity index 100% rename from GhSA/UI/AboutBox.resx rename to GsaGH/UI/AboutBox.resx diff --git a/GhSA/UI/Comp_Bool6.cs b/GsaGH/UI/Comp_Bool6.cs similarity index 100% rename from GhSA/UI/Comp_Bool6.cs rename to GsaGH/UI/Comp_Bool6.cs diff --git a/GhSA/UI/Comp_Button.cs b/GsaGH/UI/Comp_Button.cs similarity index 100% rename from GhSA/UI/Comp_Button.cs rename to GsaGH/UI/Comp_Button.cs diff --git a/GhSA/UI/Comp_CheckBox.cs b/GsaGH/UI/Comp_CheckBox.cs similarity index 100% rename from GhSA/UI/Comp_CheckBox.cs rename to GsaGH/UI/Comp_CheckBox.cs diff --git a/GhSA/UI/Comp_DropDown.cs b/GsaGH/UI/Comp_DropDown.cs similarity index 100% rename from GhSA/UI/Comp_DropDown.cs rename to GsaGH/UI/Comp_DropDown.cs diff --git a/GhSA/UI/Comp_MultiDropDowns.cs b/GsaGH/UI/Comp_MultiDropDowns.cs similarity index 100% rename from GhSA/UI/Comp_MultiDropDowns.cs rename to GsaGH/UI/Comp_MultiDropDowns.cs diff --git a/GhSA/UI/Comp_MultiDropDownsCheckBoxes.cs b/GsaGH/UI/Comp_MultiDropDownsCheckBoxes.cs similarity index 100% rename from GhSA/UI/Comp_MultiDropDownsCheckBoxes.cs rename to GsaGH/UI/Comp_MultiDropDownsCheckBoxes.cs diff --git a/GhSA/UI/Comp_MultiDropDownsSlider.cs b/GsaGH/UI/Comp_MultiDropDownsSlider.cs similarity index 100% rename from GhSA/UI/Comp_MultiDropDownsSlider.cs rename to GsaGH/UI/Comp_MultiDropDownsSlider.cs diff --git a/GhSA/UI/Comp_Profile.cs b/GsaGH/UI/Comp_Profile.cs similarity index 100% rename from GhSA/UI/Comp_Profile.cs rename to GsaGH/UI/Comp_Profile.cs diff --git a/GhSA/UI/Comp_Releases.cs b/GsaGH/UI/Comp_Releases.cs similarity index 100% rename from GhSA/UI/Comp_Releases.cs rename to GsaGH/UI/Comp_Releases.cs diff --git a/GhSA/UI/Comp_Slider.cs b/GsaGH/UI/Comp_Slider.cs similarity index 100% rename from GhSA/UI/Comp_Slider.cs rename to GsaGH/UI/Comp_Slider.cs diff --git a/GhSA/UI/Comp_Support.cs b/GsaGH/UI/Comp_Support.cs similarity index 100% rename from GhSA/UI/Comp_Support.cs rename to GsaGH/UI/Comp_Support.cs diff --git a/GhSA/UI/Comp_TripleButton.cs b/GsaGH/UI/Comp_TripleButton.cs similarity index 100% rename from GhSA/UI/Comp_TripleButton.cs rename to GsaGH/UI/Comp_TripleButton.cs diff --git a/GhSA/UI/GraphicButtons.cs b/GsaGH/UI/GraphicButtons.cs similarity index 100% rename from GhSA/UI/GraphicButtons.cs rename to GsaGH/UI/GraphicButtons.cs diff --git a/GhSA/UI/UnitSettingsBox.Designer.cs b/GsaGH/UI/UnitSettingsBox.Designer.cs similarity index 100% rename from GhSA/UI/UnitSettingsBox.Designer.cs rename to GsaGH/UI/UnitSettingsBox.Designer.cs diff --git a/GhSA/UI/UnitSettingsBox.cs b/GsaGH/UI/UnitSettingsBox.cs similarity index 100% rename from GhSA/UI/UnitSettingsBox.cs rename to GsaGH/UI/UnitSettingsBox.cs diff --git a/GhSA/UI/UnitSettingsBox.resx b/GsaGH/UI/UnitSettingsBox.resx similarity index 100% rename from GhSA/UI/UnitSettingsBox.resx rename to GsaGH/UI/UnitSettingsBox.resx diff --git a/GhSA/UI/WidthFix.cs b/GsaGH/UI/WidthFix.cs similarity index 100% rename from GhSA/UI/WidthFix.cs rename to GsaGH/UI/WidthFix.cs diff --git a/GhSA/lib/OasysUnits.dll b/GsaGH/lib/OasysUnits.dll similarity index 100% rename from GhSA/lib/OasysUnits.dll rename to GsaGH/lib/OasysUnits.dll diff --git a/GhSA/licenses/Newtonsoft b/GsaGH/licenses/Newtonsoft similarity index 100% rename from GhSA/licenses/Newtonsoft rename to GsaGH/licenses/Newtonsoft diff --git a/GhSA/licenses/README.md b/GsaGH/licenses/README.md similarity index 100% rename from GhSA/licenses/README.md rename to GsaGH/licenses/README.md diff --git a/GhSA/licenses/UnitsNet b/GsaGH/licenses/UnitsNet similarity index 100% rename from GhSA/licenses/UnitsNet rename to GsaGH/licenses/UnitsNet diff --git a/GhSA/packages.config b/GsaGH/packages.config similarity index 100% rename from GhSA/packages.config rename to GsaGH/packages.config diff --git a/GsaGHTests/GsaGHTests.csproj b/GsaGHTests/GsaGHTests.csproj index 8894eed9d..0d09d1efe 100644 --- a/GsaGHTests/GsaGHTests.csproj +++ b/GsaGHTests/GsaGHTests.csproj @@ -26,7 +26,7 @@ - + diff --git a/IntegrationTests/IntegrationTests.csproj b/IntegrationTests/IntegrationTests.csproj index 4676a7fb3..2fb573e98 100644 --- a/IntegrationTests/IntegrationTests.csproj +++ b/IntegrationTests/IntegrationTests.csproj @@ -26,7 +26,7 @@ - + diff --git a/UnitTestGhSA/Properties/AssemblyInfo.cs b/UnitTestGhSA/Properties/AssemblyInfo.cs index cf0d0acdd..a611c72ed 100644 --- a/UnitTestGhSA/Properties/AssemblyInfo.cs +++ b/UnitTestGhSA/Properties/AssemblyInfo.cs @@ -2,11 +2,11 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("UnitTestGhSA")] +[assembly: AssemblyTitle("UnitTestGsaGH")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UnitTestGhSA")] +[assembly: AssemblyProduct("UnitTestGsaGH")] [assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/UnitTestGhSA/UnitTestGhSA.csproj b/UnitTestGhSA/UnitTestGhSA.csproj index 5aa1935e2..9e6fb7a11 100644 --- a/UnitTestGhSA/UnitTestGhSA.csproj +++ b/UnitTestGhSA/UnitTestGhSA.csproj @@ -9,8 +9,8 @@ {CE4EB299-EA12-48B1-BB13-0C5B83FF0B52} Library Properties - UnitTestGhSA - UnitTestGhSA + UnitTestGsaGH + UnitTestGsaGH v4.8 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -59,7 +59,7 @@ ..\packages\NUnit.3.12.0\lib\net45\nunit.framework.dll - ..\GhSA\lib\OasysUnits.dll + ..\GsaGH\lib\OasysUnits.dll ..\packages\RhinoCommon.6.27.20176.5001\lib\net45\Rhino.UI.dll @@ -99,7 +99,7 @@ - + {362f5ed1-ba80-4f21-881d-6bd8784612e4} GsaGH diff --git a/UnitTestGhSA/UnitTestSetup.cs b/UnitTestGhSA/UnitTestSetup.cs index edd23e398..b96fb510c 100644 --- a/UnitTestGhSA/UnitTestSetup.cs +++ b/UnitTestGhSA/UnitTestSetup.cs @@ -20,29 +20,29 @@ public void RunBeforeAnyTests() // Executes once before any test run // load GsaAPI.dll and set process user-rights to GSA installation folder - UnitTestGhSA.InitiateGsa.LoadRefs(); + UnitTestGsaGH.InitiateGsa.LoadRefs(); // use GsaAPI once to open a model and force loading of sectlib.db3 SQL library - UnitTestGhSA.InitiateGsa.UseGsaAPI(); + UnitTestGsaGH.InitiateGsa.UseGsaAPI(); // set units used in the unit-test (kN-m). Avoids conflict with trying to read Rhino doc units - UnitTestGhSA.InitiateGsa.SetUnits(); + UnitTestGsaGH.InitiateGsa.SetUnits(); // add current project (for GSA.gha) to grasshopper folder: string rootfolder = AppDomain.CurrentDomain.BaseDirectory; - rootfolder = rootfolder.Split(new string[] { "UnitTestGhSA" }, StringSplitOptions.None)[0]; + rootfolder = rootfolder.Split(new string[] { "UnitTestGsaGH" }, StringSplitOptions.None)[0]; Grasshopper.Folders.CustomAssemblyFolders.Add(rootfolder); // setup Rhino7 (headless) and resolve assembly conflicts for RhinoCommon.dll and Grasshopper.dll - UnitTestGhSA.InitiateRhinoGH.LoadRhino7GH(); + UnitTestGsaGH.InitiateRhinoGH.LoadRhino7GH(); } [OneTimeTearDown] public void RunAfterAnyTests() { // Executes once after the test run. (Optional) - UnitTestGhSA.InitiateRhinoGH.ExitInProcess(); + UnitTestGsaGH.InitiateRhinoGH.ExitInProcess(); } } namespace ComponentsTest @@ -65,7 +65,7 @@ public void RunAfterAnyTests() } } } -namespace UnitTestGhSA +namespace UnitTestGsaGH { public class InitiateGsa { diff --git a/UnitTestGhSA/bin/x64/Debug/GsaAPI.dll b/UnitTestGhSA/bin/x64/Debug/GsaAPI.dll new file mode 100644 index 0000000000000000000000000000000000000000..25fa68610dd95c688dac70e40ad9442a9409e7eb GIT binary patch literal 4420608 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
pYAq-**=w9)k;dAiQib)Tf`ze2wL zTN+(EwN)8(t%8#4O~R(bOdDa3%oBFsAZ)uoo&orVa3q4|&y9Yw;38M}D!Ij$j;j;k`Wcmh~fV2jLl?b&6EN7Q_9l;ID;kkk=hw1cHG8^}~ z%IUx}`YL%2f#s~kKl&=U4Kd6431XJRbowg!BjQ};EI>NjaTa3woTER=oc;~V@X
  • C%1}gp;d~7v8<9N<&5B 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�-e-L!DtvM*}gFVEV#191EmAt6_%2_&9@9h>2Ac_aKfG32UC(Nez?95qMdf4lp0UWN`$E*#lFIO&vMbW0>kNSsmxaq)+ZcZD9f&3nbTY zn7(Z8Nz4_PQEU=OeG;Yc;d_v5jtcZTF`M^<0%sQCoZ2bRFPNHIX>*{DAF{cod5#~cjsMOg%l@Aq!$?Z5K<|Irbn0$^P z$<@HmhkC*kaP$^47-keqK}Sw$sXC{#U#i%p545p}K;0@i<)yNeJQ^IjQoyq6x zkk?F=m~gKN`%=fmbYi9DTuE+nIlk#&!q}u3sAHPL+=nUYcrt;FuQIWU;}>C$aT3!H zCM`^9N0*5@<{``nY@CC1Im%RkDdPy+rA;fB4>g4;>nOcbn-MVG*~}2L5oQQXIY*^Q zy5tKm6WHXGI{UiO8!&;6(vx*e7MR^IK=Wp$uJiXQ^64;W+Tjf zn2L@=x*R$R^ODVFG1)v=B}%B6A@lXI&cOJwsifpAj^Ns$(3nN7M|2B|e6 zZaSQ0Hi6ps=7%Z9rkR+UFm+(+I5K@_s$9MuU^>FobvWhd!(oQO)N?rZaty77nGI9l zabCvH37Azd4IEqLd_92K#wO=F&gGjRy$>CRY3L}vR+~&PH(@?;WD-*v#!(8trTTwN z-G6*e<^KopEBE(PY)I7)^#@G#ZALC2BF6Ul|Rf zsino#uvq!EYH4bsni@@gU+21BKHvTOe7xT8>zs3+`#RS-XFnXt+`>4B4yv(s6yQO5Z>Nezvlt5;Nch>7AZb9N4IjqWo zIELC1&nlyvCYng8IH<;ofjkI#$q`zhI_E-yr4+DF4P-RrWk)XigmlLoE~Q5Gu~Hz3 zkXIZ5+@85TG_e{I@9;RJIxh*-#Jf^LnVHv96Zw!Cj!4SVUYa;AC6j%+ zy)`i&lHjQ1=*|0RVv3Ytm9b(Wv!o=j>JTIi@~R_iuNu7y^0t&}C8Bv>e3v1!9ceuB z%OJ<3q;m^vA>TpfI8r%Qe6S{}q!eUUPW9t49AFvPMccGlN1j z@gXG1QGHZpRzeO+@#Z#PfSiHMcjR-Mg9c!|3VGczfqk+ex21%0tREp}xSfe-ru{%o z_(B#ql9`za=`Ka%9Q7&WF-Wq*r<2-uk3m?SN(rbZv!tZ3^GIauc`VtHQLSeFHz7-9 zCWKWrkar*p9V6;Vo)n+aYOF^?)y%fgk8~}k9|IaSdZJ1#HzlJ;C>LY*pXIG`bhB`qqZj(8GD9Y>?mR%-yxcKTxPOZ^)4hD zlH$m%Cv&7Evd;}<>{&F$QN}(4!*E5DnF3brfNX&*ag@}Pd?~d&&i^7~&$LS%mFzQm zs3uOz%tcmx0{H>56pt{}UflnvntPWzYFITDa$9DqSycw{9ENxOj#O6pJ*H;kWe)AS z`b=j*I?GHQtFAx>LQ)-`k!q|#;c7Ncb$GFA6J)H+cyv~orjO$~2wCpPWK}%Go{g6~ z{8)7gvRGz(SQR=9vjk*?BcPt_l@h4FDIygad&XYj2x6bFAw@D1!m7T*HE{v*hGRrM z`9q5DSha-UB<4&h zY0TU|N)svjQmv%+x{(A*&oY+>2pj)U{xhBY{;L zA?IbLgjLp)n)nU!rsHBg(MQ-4qGo>aG&1(};!Q^i`+NxTmYHf+c}L<|3MAc8S5F?5 zk`S+s>Wj$O*OYWe2KyX_JS8(8{wnkESUgLCtakX+lN2cd6yI^0SSKZmAN(J|Q{Rhf>udNN*0G^;9+v9GY1 zjv9{DJz5hl%8W-B)j1Qg5b~D8r=Da=$zz|Z$kZ7Fi4ZFS?@Amgln)^7AX^+6 zly4#ZAn!S{Dc&#OE(!9!BaadWiGyT2iYPN7OCTRO$|##5n;=^qm6Q_5$B=D~8j6V3 zL@6Z4q1}+5yY&#{8f3e}i}DPl!DzhWaQIOcLs~&TbOcd6rr~ZKlIsYgtb;rO+3AR+ zd~J^ zqz;njD5AU%X*LFLPaI{GuOQta2OO1@+mOc~A3JI&L*uY+f#f^1o9g&XgUp2-ba*Kd z>mX|&ha7(OWV@6Co<9v=!jmN_LCo}ld;=+Pgw>O3Db=hxip+mfBAK}X@qQ9-Y8)~3 zq=yvW2i13Q$;)_7A|-*DBamkxg^rYZGE+(R!>$) z2?$VoI{H=IDM*QAWb&h8V>s_zpq zM@h+G=Ehvy<4Z|q#$H*Cl9EoDGfxwfq-3)y2l5)E%#l}5)<`L0Rp4uy_&^CW6Cp<- z=Nx7Ab})9p~-H zj8($ScaWDM-#LQn$r341tXlLs<}oQ@%zOsf3%TfstS7}%Qdu=)0ao2oVwl+vsexQ} zB-9gklr1Tg&B>Z*Bc*_SoC~pEkSmVp8EP-iKYQ#L>rN%85fIu}7ULVj=rP`WI^)l*6?w=f3s1*FnZP){yPnZT;6$owv) zgc+};ctZY^5LX=+>q$E)X{^dbCP+#(GhaZSfK)l^>Pd{00#*%QhG)W3JpNQ?!aPVi zZFCf13jkyf&A%6;Zgk$QVIFXVWq0f=C!!HnSeLEjvQt>XW$+m@{c2lnF`1d$X!PXGt1Ut z9S#xNO=iZf$I~821I@anj-mGkP3(l|+D%r?f_x6Kw3y{;^vRjHoDnopYQb7TwNUqHHR-aVBhy@$0Qq^Fk0`|i%~0>@jeAIKnvTa#`^WulNgN6*za@nUzE}oA;9@V`0xjzkQ7L7M+T6nIiS_)|o z8K$MMa}A^qWQ107L}hmE)WjIbNUe;W$M3>g6f#;%QPOD>P{YQ8P0*TTJ)H6>pU>}}lOvIZbt%Ow@A?+Z~Y5s@R_N>U$!~jUN zc9WTT`!ORyCTsDlROY1vnn;FB(fqmZlRn1V3P`LL&3*5ck7Ed#riJl1&pe3hAY{50 z%&KP&;Z6z?r+M{Kowq>DNqAqNRdTE`hw)|&GD8byrW!H~lAuMssj4;?;2s1rTbsbl z;3N2%6UbaGR6Sc3HIVI)*R*18;o76POM<+v#c>Ot{{&YnNV1koX;g?KHW|-OwPbca z0%;9dtd(%|3CA??Fl33A&CF#;G$d6EO>ZFVw}Ba-Y9a};LJQ}<_x%jt0?10Om{rpu zA3;`WHI#jj6Oh%K??b9jgCcyUkPK}EWjN#xWP_GSSp#VrgS&MtoAN#6LC8B=;7--2 z$LCllKsIZo%*=v34S8RS;uao&%!F*!Qdl+hIOb=_HZ7K!kBV_-LbhvxyHw{%U*b4J zc4&3%yz3;MFhFv(o1C@&f_w+rttGP0z!FXT0r^NvrF;+3r{L~S^AA#;Uq7V@FG!x| z^|X@XkO0WXS|+R7e}x$da!AXe?1hYn9M&rME$H_(&K5|4me0&@rMP2-9MwYDdB$nn z{Xss_ikW%kEapteXIeRBALJb5xK>4Rm*MIO`BIDIHjjZAQ*k$;)iRR_X#@FMv;MkI zo*S-j@TM42s-=&d$i=u>HzC`QNd>DeK<2AHJU(exaIQjr)vO7s&tH%arT9_CSKtkllu$}O zQeGJlaxXFOUdBq7p~ruKz6SD8Eo>(?rr^N<_bW_FIarilb8 zQLNezStKQgohyF1CyC57tj3C3^`Qh`$7%=iyH>!e$-mu`LT1u$XyUNSaP-4BvGRoc zsfFaJEo}ZfuJ}^QnVA8pky1nX0n%WaUFG?#sv7$Tp2|uIpyWf^NU7rJZU4k9Atjud zrI3D7Vkp-j;Zl+*Gio$3PD&P~5)vatOHiXfehV|Clv3{dCP=cBI)3ifUz%78xusPx zGZV5^N*(0_>UZLN@*LP(^PJ8NDPv|o zWEtci&GS`t#O^>crPMML`46rakUA}xnGKLbQhaLFzF&u&gxuAlnF+4L&pAj5Wo8rP zI^E;oMPDfq>@yq^E~T28_aRR~EIpB#zacM5@w}t<{bfTJuR)ypW@bKzq)7>4 zW{8Q=@$|r@=W^e3A@3mL)?=7yVd-Ko#6wS|jE8(GC71F6pF3S=szi5|+%J0NqU#4&RNk_u_6$1>B)LlWm+j64lnRLbdu`41o9yh@SeLU_Gd+WS zVj&$+)m$%QRW8J?YOeb{r;Y{=jGV`s>$$9oggk_*7J4%8@gtSW#!iK+*5A67kdzp8pb&tcUPh&}r~ zpx3bKJY+JeTIxZp>f)uUTI%JjS^%-7U$v*-KxUz;l|F)1U7M+@R=V}P$}EJ~ zGh{2>k5%U(i&5pH$FQm!{w0mQUp{&;s}?})InzfEVby8KT2!^xlUUWEg{o?;$Fgb( z#GXZ4>yfPb8S*}=+UOaqdfZ!8wb3(KwH;#5t8Mf+RyiNg#XeNE)pJ=j4PtL$TfLZ7 z`ylpA+g49u)m_MEsPff|SoK&-RpqPKuxd5Lo_l@uELL5BoJCbT{UWP6wo+B?biZhI z4Cg}Z*{_|R$Es71A5qm_uVGa?{1YF03)}0Fta=q<&xh^x5>|Z)`4d$g^h!$W*1B-K zVvEOJb&fS?qxy8vli6n+#GVg3=ryd`0cnXUKi!X2|FX(Y-@~dIZPg6vr+Wmey{Lpd zh^mfy2&=~Xs0V$Yc!bw5@OZ>NiXsOqFgvg&h)y{DaYkBO>t)Anli>!gRU z>Uqd8RCU(lSd|O0t2*n!tg3_9^I>N_l2s!*=;CQq`RggH%7WNc{(20nsv-6a>95DJ zD#Q_UzY1PhnM~j=GqKst5HvR*iz#RS)Wgtl9#x=fel} zELQyqS%IpqdI_tBcGAV$Qu3IY1K9=%&}*1E0V$AD#7xu9x;O#prhELWKKF+qmm%GC zkB8M!T@I;+^w9m7$%o)iyNf_QikZg#x@ZLHsfRE#6w)5jOV4Iz8zd0&kRHiQ6(kH2 zq*pW3w+pTykluP6GgBZ_A$|1VerkITKoTH*^%Q2VLQ)~YdI~drAJoNq$isRTGcQ1P zK>F#W_xeEcA^r6{W-1{ikPzLczZ$E5SA63j1N0JRWvi|~KzczQ(d(EgfP_MZ=wAP+&*Ca15)!6|hp6r8(@htXAVc*4 zW~M-9Lmt&LnAs0Wfjp*%F;fZ2goNvnl)xUk*e&HEtCAr{Adl;D%)lNtVWVBw% z%(svT$QWH4s7CMHOBc^Up497@iG<9AMCv1$c@L5d8H+zTud2R=WI)F0VU)HH>0&1& zO3!4~RLEh-Q~CsE(jZ?$p4Kavxd6EYc}5Qyq&ho;bn!c6f*wwp)*I)>R6KRm6WHfG zq~R<)b=0GoxdUklnW(2QGrkXw24u3HK}m-UhQ#RUbJSP`kO`0}dNwoOeRZ(_GEL8; z42P_Ryr>sZ(jZ$Q({-Oj)u#}03=*f8F%y7)@m2|m*DEP6Kx!c~^cu=;h&us4U94xa z&o7WpkXgERpXwa*ur3~l%+b9lTOrRv5_Lby9Y{Q6u6~mmJP5wZcYN-t$**g&jg zAZzpr%2LQzkhS_vN-^YnNQUk^Pi^yENF8LIjz2#lpQ=qCq>Hw*@v~35CuJMtA;{ah zFXd;*qmYey7W=de)x|_emLAAV3M2)xSr4Tgg=9ju=n)iSur5A?yr+A=rbZtOISzSW zk7njDS}d`@9b63fZBjGxHZ@BxIMqnbLO%<~qo3 zeGer8@+xGH9+juICmWIu*{c^aV})VO2HCHdQU*c3fE>^(D6c`jgM6%eCaFFUGFjAREAOVmgy4NHnzd;5;j_RpATb>Qq#dOH0x+kmVK92iANRb}Q zs*b~OFAVuy&t_G|2%H;`FLhs5?Rf&%WyncAkn%g^5~M^=<2H93iSH@olpe~=YDlZO zc)qGfP)Z;@AZPSwN~2L&c|y+WMFnavhCrT$lyQn zU?lU?83)+{aTp2A9Dx);Oe2MI3sMfTj0{Te=kY8B;xs~ES9=-@F_Q44!pLUk45SOB zk&#F7h}OjbNMoajG8_^C@iZcis6O){(;-caGG=~)tb#N%Dk*Iy>f${}bEB5~z7(<_ z(!!`==Fdr(At9}dZ0_mG$@msPS{pv0YOKyNO4=HhuH;jQH6Qm)hBxIONGnKtBaeI9 zX^JlTKsp%y%q)aF1?g-AQ}#h#g7_QZls_TKkS<0cx2MxoU2KFrXhboS4mk?xZp2bf zK+ZsV7>SfykSmZtBZD&O1+1(fy^L&11_b|dMLc8_QX0qV!VA*dD5dm=w1f09swq1l zy&=Iy9ir5Z8^GSG;mw0;p+5Xc}Sp0Xa2 z2^nleZ&96(Kt6yxVk9%uZn`cGLc)x6%43k@kfBC4t9C%XgFI%Gy{G!ry@abdWSEi5 zs*&-!Xu1IFOrwA@7t$6o(kQ1~g**g_FoJn*G?}4`P{?Sbika6Tk&q{iTFQ3FL`bCJ zWvbDe&%|{HGR_#mK4T$^AmfcH&Mns<>mg4Weyn;wK^GrECKy4KO33GsXN@pQ!&h-8 zK%O(a*Ql{(L#{%ijc8^T&Bnz)8S6tMo{|e`42dz)C@tn-CDRqZ7`dBKS0 zHjhhG*QRO49%g3D#XU7L(~Tr%*3MH`qL++J%C6URF&ddyj3QR8O~U#IGQ-Ga=7src zj+$i@Q~JM-?*%fi8s)6I3dw}bF{&t!EWo(|Ni=FH=O70m^9&D59gW~*U6ewS3?Ir~ z$R)^pBY@IiA+9oz*NqTLDMT#9`p^iOton>vgeRPkMMeT8d@-&mki|wWWoin(DUcK+ zf_+k!;Qkb{#E7Q!TdIrkkflaEU;LJhkwGz+;W+>@sYW&>3SwuL8zq!@$_k@~ zl1h2Q@Nueb-a<(;!YBtRD~&kHY04@igK~}Xrcpp?kg7&cH!3MDDXR?+ml~@VWsMO? z8Ae%aL{TPDGK^%(JjyyFo3fg+-YB7Lr))54lvu|g^KpDK4Ntcky$-S-@|F=q@mh{M z7s%U2Ip^mf$N|VkBYdr@nhZG($ucIeYChx~AVUrpZB#ZW2!l$nrd$cKiOtukjIGo*wv z6PS**jg)B0D#+WAokkds#%0KdQWBX7SdBSBN+x9Ig19=g0#7JV*&`jLj zNC{>p1F~F76y--qHslk-D@Jt=dJF41De=rKhI}R^opJ_p8FI|n!?D`Et&1B{a+rA; za#u<*yCrgfp`VV!yMiFd~@gv=w*j$W$1yln){HGxP6_cplaNARei< z#Ietl+jP+y@`I7gs%?;NQc{@t8`2;0qftWXl!I>pq|&IOT;Gm$6y&O*4OM%Q_n|J9 zL8^>Qb`IN#_f3#rj6BK{yL9mhq}uRh)nP~(jvjDCv-wA+<&(#oULP4RYHkq0EDKHWybEul^XJ|;YHa9xefWx@T2rUfV&jrZ+ko(O1!>Uij$GYeY zX<&vfP;wm7AL1~B*r!)Mo+Lv|Gca3aUV_YoSY{YA(+}Ychq%owj#UbI2jXEyGE;aM z@8}_o%sghED8QaV8k_#y_fH{bAf9FwGZT(rPa#dr81|`!+<`PT_v^I0uXCq`4q>Wj`Oz5Y$TZj0XWt14men>mBhO!LuDWttwNjVO& z@2NYQaonEkkn_lNG7C9Y#AkR40qJaJtySCn8RS2Rzgfe~)X%X-nu_;dW*#$Jj_blF z4R5l{phs0zSTWvlAQNbo@Jv|nC4OQ7nOFwkDA4l$}?Ekt;8E2^CG218CI~6 zVP*#V4Esji7mP6TDHADAm=~2;iID!N8fo5SpRJHc$SAXxnZF@1kOT0sDw6>jBE`R+JS`=d@;5RsNeQnfDN>>+_HQ9= zkP=I=f9GhIlu(X7_B%WWkP=Z(E=q}}+(71rl=ymLylL-OGR6MglLw@vQ|#Y836!## zviO279+R?%vJ)}}GTtntoQ6z>M49E3$1dU%ggj#=axZ2HnQJC9a{*ETNiu_(Y4{`N4aj^motd2w_i8+sFrz#8n3hNPP%oJFf3Cn2lNI?jiqs&J1MjdxOJDLYTOhE)nO>&-Ndz8Z2H zvcarirtL4dF0aA;yP3#6jfVI^Hkvn?@&6Tf(2z}L4*SGHMnT>+g}2(mp4E8P1bNT& zq%4CZK;AcfDYcMgkZd!M()qeB)<8ZmLn#rE_aR%&D9SgGBarQ8EagAQ3CIq!klXX% zZ@Alnd}t;zlLxs4*=1()s9uH`YjHPfrZO}227V$4@{yTIc^A?Zvd_$+{0SKd$uq6T z)t)xLiG7FcH}jcU4w(kYH;XBUAPJCzW;x|2$P&mQvxXA?JJ#WlBc}F%>bxDY19H?1 zN>=hcWIyB+a|Gq-Kk<_fkV4a+=f>F@yitW5GeapAx3Efqd}?~J^W4Aijw1tiTc#i7 zUr2jMkr_l;{x{xkLq0ddC|C4@wE0IDn;<96N_9S41(1V~5;H=r$E>rEGmukewyLsjKz@aMWtK4Gtiuzb zb-0rhg)7ANG4TAK6oHi3P)KOgx83j3G7Bh1L@~jkXtISwW+{I68K+c*W zl=YA|A!Vl3QuX-*PJ&h%#HbI2#ioHP9?!T;e}2{~^DQ?@{^L(0u? zC6>1^gti`cZDtf@D5N#yJ2RG&2nyE_gpL7io3%O(#P#WK7h=q_V zW(j35Bn?twUZl)}Y=C@kR#QHNya)NgtfO3p?1cPidbCnUqe%lpxnZVJWlk=3$6d5Y0;CIX|?aA^JiLE1#Ka$a4^Hu`2?nuRn7g{2(h=YlNHHrz6(i4RVOQS zgxar3Z49v*(%C9!pD!R=q*PG`w8abn@wdENtExE=`)SXERx&%EhuHh|pcTc=eSHma z8q(DYWYq?UUDegv!>S)3_P%$u;#t+Logu!51X$s$N`%-|0oFxUU4hugC%{T&)uZik z-GUM!sxfjyMs-X0T?1c2Stm&%r zyO5)hV5^9Ie(7Y0^N{{lIpsxv>^o$jRZZE@#SnUy5TO?SL5ch>x9Dn!wvZv#O^y{7 zV2FnxLoKb1%8cuV?nN5%tkWrRD^AF@YB+3eB=D9#ac)o+X8>^I=42U1(Su2W}wmmVcLnd0WlxdJ> zAd{>_$_~iOkjYjmV8X#7)RNt5AsugE-&CZ!}vYxINP#4?vQvDrT-gI!nPnT9W73!w(xGSc)fQHRMq# zfs|{IiICT=a7yofhL|ZOin0KbEG3chC1fKc*~;hlqHTXeD@E*uG=3jZmz&S4^ zP*sV25c|4(&`MBuQligjRdvuR=8-=D>4U0+RtiUdcnm%r$RR77eF`Asr9@E%KZ!XU za@b1c7OsFSgB-CknfV&B8FJLhV&}e*Sam}_vGy?YI^d+0&>nOU}h8~6ms55W#$h^B;;EwlQQ}_T)!aSS$-VrJ;)-+1uKEuY(9@~H{_y~ z!>WOh9LOcBm@*TRFJ&{U4nw|#T(-)Y*%*z_6!N_l`lZ^7Um(9hey{>5cOcqU-1%C* zltvQ`;U%Sr|IMKT#2->=6&0&KeIUIdKUp`Kc?>cDa@DG!jDrl9l0dQlyTk-3;+OmE z@1U51%rwX~D~1{S|4q!467GozG9Myi|38IlEAxaJ{T5^aGSyZdrO70$=cSZTx$FqzsuG)&$Dukn2)X+1cJN$2Qz|TZt5V zFFYZCTG8B#i>R{q;xDVLN_Flu8FLFVe_2(OMlpuyDkY;@Wn5DX@vxK}iZK;4iIfyp zHFyD687Y~RX0e8tEG3uXKg|#`q!d#6zldWfCGuM}R=??nSScljGCB^cTqy~Zn3r%2 zrKC_^dl|EhlnlzMSFi$+l1=#_9xD(jd6fJahPW-Ih;n!)?iq9B@j0!w=g=%1A1RfT z#;+P8P)ZFYX0{=QNYT!ys)KW|x{wn2vywZBILD-Hrc9Y~-~CZ2Rjxyj7*bgUetXccOEQdeU|Ev1rG zZ>_-@F2$RfytTM%lM+BVoq;()N*$}dT8HylN+>hmtj8UY6hH3!?>l@fGOjb+ap6Cur=VHA6om@OreV$TV0NQt4?Gr(pk zdF*^5+YtMuT%^Q)fVleZv1j}XXu(p8&IDI&eZQX}`hje%5FmpE#pYkp|+i^znh=m@&+6L0g8AI{;7|$Fa z4>=PkwUEA$AZH4tEFa%NNN;BbW$QsaNrv=s=2FBVJU52)brw@5Ko(1>pd5g_1qpW6 zQJNk$#C9oO->Bmg2l)i@urrWS4Eb70IK{gF&m|!JoH3LaA-AMtP`Vw#)63oX=?G^L z}_s{UAe}e&;y)Cx#dedDIz1@hCLJ6iB!;oMIg_#9YWQXB6cl$V$iv zXB_3zPchp-Mmm!yai8G~heSBjDM>|Gvq8o3}dA4{^Za_LfwmQ8Vsm$rF4$%*?&AFLp-wf)wkn8hs)p9Z$t7gV>#SI3qli9D^)`eCQ0RH`Y2xt}~g^?mC{X zKz2I4**OYg@5L@>AZ01!7&5z@MXXv6vB%o&jA*RJ`V~?N+2aglRnOn>33kU%Yd9k) z;~~Eyv(K5pEu07W7qZ_O!%U|)9HPg5JV$b7GNa$XdJJ;JnZiskBpOoatmgI%hit`I z$DB7=wFEK)na`bCL$!swAPXU1IK3%%A#XuWI5XHe>?Y11$Vq4Ry={ir`(EPAqr^h; zkvZi|xWl;xXGv(9v$Kf6(7pFiiE<@c-YxeZy})Rx+&N(TRq)fbNZ zIcF3zGa$d9&pBs2Wj~}lGUuITtg_Eualn=$iamNm$al^hj{Xm-?9nedy_>1AhW>%) zy~td022zqCBhmS?Gm~-z5{S%Y=N^jq6Q2d-inI7$AILZ<6_iDgI7o%F#!HQ5Z()*@ zN{YRO%OO8H3%P~IP-So7RcCMuRpqY1J6~k3IwL5LLhQfj^0U*6Vt39(=4Yoyu{$4x z{NnWVR(%$u>Nw=Ovz%jXfY@W*aQb&pneQQIkh$UXWtDylceRk4&P*Sb=?M8xN=R!Z z;SkS{@v{fcD9Wpl_K-iF!R)gZ(i>9ajHDcfjD*~B#woGv%mgWE%v^%J3i->K%Z&CH z)|pcFv{$2dg=9hgb_REpVkJR#NEy*mWlljpgVZ{s>&dr}+s-2PsYK>i$Q@_6ud34i z#-2j{aYogX=J`_Esmxep?9u;mCb07dkS;QlqQq)iYlu)toil@(L6D~)cb(bwBwk7^ z$NB=9#ZodUwU8{xf6gL5HTp-l@g0QR=gQ^wMBOpO6^Q1_W9M|p?-0{fMEL?D4&niW zt4xXI`HvyIAs((!9*tR$o{)yFN>-hR43ct@nO1dJA4;)WsqL8wxgX6Nxh634IWvu1 z1>6hoySR%)Rb!VgtENL{NGW6HFk}J5(-q9jFOap6Ca!Qwz`vO5AWdBw&)#UrG06R{ zC}vJUDj_Xgu@vh+obwQGS23j%L_37LNS6)~Yq#S|lfpl?&ahtC}jzJ!Dr7|<8fhjIPy14|uU-rCl71G^xv);V%C#0wACTEH5 zsIq5?AXmEje&K(Xn|OI)OAe)p!xWxUiYPrH?WI&w#zA^Pdb=!tb+#ly!lcwOvjs91 z(#Pf1No78R#7T*x`~+DdC7D(BUTlQ)b;VQc*)Ipu&y^XV`qZJyJ~Icn_D~vXrhKwJ zz-2X2YnyHmdrt?tii1?u9LRq38R$yw)=;iw*8VT!%PMdEUe#u1M*dI2m`VAcM0Zzx z^8Y7E52>-LA;og6^j=Cd!xZPF1O_TegH%fKEymA*{pgCvO{L_DNQ|0@fl=@tC+G3 za!yJm<-UfdxCR;Oy2;}_8&W65r=GMpg69CP5{`ZXnck3aS2gA40EZX{8SbiM=g3B; zm?FimyE+=PA;+8H$$%@ApI0{I6=X)aJSjgx7C<6gp{(lASRK^}R}5u2)_yBxCXwsDS1Qj0 z``dI2^0X_FVt<<&9K}znxMF!e4{xH*`Dj;6u-bRKsxdOru1Jbq*K)N6^)fLuHNnc!Tf~CYWV|N|_ndXY7*qxt(#JMur*=VY^=M`6WsOl2|nTpIS zt^&%8|4A8T?f;~jvKKO2R(T9oea=CaLgHP1k0}}WfJ0mBG>NJ#F?0elNh4Lb3O>JtWb!hkNRCzuME+TwcS~ zSawwpWL|S=6uT+}^17>-Ra05D(3Lml|EnHHW}z#aVpolWq_`?rwTD&9T(#p>)!nWR zF&UX%Ms-+kyXs>|rYmSBGpH(pY;*<8Rk9OuMoL1W6zdG+2S}EyXpYL< zh5Q3~#}%&nSgo6x!dYlb2CMAPv^`{#E96yG6@pBE$h)qcw`E16s9<82CGNUke`vL7-OvfGu#D&Gf85e?bv%B2i}ybAfq<#+GM z~nch>`!MM?`a+*Jge?A3@$j=AbK|@+Bl6Qs643`~f*BC2xT` zJ}q0CqC!e6WzPR3lXC8V;!O!^b+0Okk^#9b`^3GjI$!>uM9x$4ppPk2=bLHI#p#hqN)|-v@39#61%Dg>YWd3x;P(Fv4 zMYyMSWxT60_VzS`)VfkAcIWnxe_WMY|3A|M@~^9mVrN1i_ql6wRpwbdw|g9-xxIEO zY2Vx-o|Y0%`5B|zYi!N!pN~5P%;En)rpruzffE0ArdS4Xx-(cc2=XqZk-NAA#i$w$ z*{Ot?iIC$`qIRj#=Rqz)8oT2u=@5H#Pj@P1DxOCCjEtwdf-)5HFQkb(Znx^Q4AS^> zTWTnK*{7-7dymSThIB%vsk@Y)MJ>es-0ydXF!M-z+}$8^zdM040TK#n=1x;$*)m#6 zHZyY}FG8BT^C+t!OCT-W<&?b?Z+Agcb$rSo>yUZC9b)e=j+jRWtn?s0?g>gPJ5wYj zpBY;&L0Y>-sjBLMs=pv@+@;%NeQC72l17Xxl?7rI+~)pl)61i zsv#j#qVtrj>4a6Tlmtq@&bU*Ml1ljnGF3_zCEec?2~ze@`gAeHA}K|bA0X*c$|-9e zG{q(6MVm_1-wpV_p)-lK-DKSdK-;lGAw(e^7=@wv$@1+!?quu8l$PFoF zlt;Un;;xh`$`OeB3%gGprB`=TJRrprW7vJRLpn?Gqxkp09fy=)%3F{jQbtf31>*dX z5=~hQd0t8a&B?_-J%Qev4|4(TbyvzglWW_?XDNJAahqQOcvd_DaNJs~F$`sFQ+y~ToAUhsq?A|KZIDAU6Tz!+5u^;# z*;K+Ht6>MNL}^XLpn$)=N3jmLLfcdWjsDBAY&kb?y`fb z^Cid>DG?O=3DsOkPq!D(7Ok5@tdJ7eTz!JJd;sZ%EmY@fw49$%dSU1i2?r zN+CZ;@#bDsLH>aBcKfwZeOx0=(VzrR6x|;AN|r(F`7qd>K`DpW^I@>t=b*~;9Hr*N zV0SiU1;m~YgWUm#ROTm$Js$?U^C%$^YCa5hha6U!m5{GxCYalE8PXct6YLJBB#y>+ zP)ZT28jVpiWUxDmnJJLLG80Sr2Qo&=hysrFq?$8>-HFUpK&Hq{DkVM=XPuNXR@Fi5 zSv1(4$;{(paWrHmhw?4tZ7KF&ma%8`DdW_<8tl$z<|D{XnJK0W9FIE=DV3}`4zXw2 zV0Sq)jid0H%1jkyJLCr`aYxlygPu}zZ?LKLoue|t%sC+%4d+xQi>@lFPdVn zlyb`8=~(wlsiJtqnc^EMwUo1vDk)Y=b$r&pgcXPsZ_3!0P2usiz3={%=C9zJDN{+~Z5hqr42+ zA*HCE9Fvm6GvQNY%A}Mr^T?~X4nhXFD=D6{@$5@VKC8ZiG%B?-HO!>WF@+ywpj&ID zj@aHrtXHKJv+CSj{DBiGUd$xUGsSa|L2f_F^4IV@TuKmSeG=C5Qo<;SQy=Ux=9mnMd6ryuQzd%!7ox)45J?Ey6kz@`O8{TWHHs z$VhhrkIz`hWk`fOopNW8LpaXh?SQ+E+k6TcFDd!V`~~rYM7oP9;fqbtS4tgaE+hgn z&h6o&j{I53WGSH(D+S+fNR&H*G70jgloZMaNDky_cLwE8$YCkPlrBqfK0_wB%P9*X zKTGjwtw!Gu5ohrikKH~Lb19w-NQs~XLjoYt?r6#i$RH^``_%g9FeC~x$(_N>nq_#J zAtjsg3*>bv0jz41ij@N-#$C?L?~ol*swhL3W6dumgjI7O=O9zvK5f)qgss4PD=7h# zHIOvFnazX4M;}@Rt%#xd`bmWdf_*Y549yUUX+OQwDiKN*<-nN}OX- z;#f5tvKA8Ou41PBDpPEgQcIZ!IVdHGRl6W(ATPTE+N%AU|E4K^k`h8W1*w&i#;UuJ zCg0$li#wi~6X`e)r6g0lSK~aClEtdWAQ6z6?mT9iufcgJrHC>WGFwV6tJXu_ge16Y znR$LKo=8iveAPB@hwPV9z^ZeQuOPGCC6x0Scvc|gB4yV)Q`AV&^3)mCaJ?z+JBOb# zb$d~oZ@@QBiXWwICY}sP38MJDWr}`M!YCcy#=IdVlG1)7p3h5(p>)kM#Vjcalz?~e zCQC}ny$t5Xx1?m;%e;%{BvP^|oi}4%m6AtkzXhMEl%jfaO-dOh7nwRKm6VU)GezU` z_P*Cp+GOKSN{Y5$9iNvzz%@mR7p3D?TvMd@)syF?gz(e(7@3(;Mo?O9!#YYz5Ua*Q zHbLgP!ze#N_DU(?oY`bMRt{3~Ij`=3ltbpZBU$y>4paOFNpdH1tZyLyO4&n+`p^_D z%JKHi?d7em7ndRaQVN-wl#AI$N1A@d;%+;QBVW;?My zge1FDcy&mF?1n6Kr!aFFlG6-7J?k#!HDyGELlh#j#9hkm`4^efkW_aTtH$gyMKxrF zdk>`$Vt$MFdhS9>_-<3Qlu}A5hjf!tL5bair=U`9Qtm*Wlp+qO&pmZ7p8HAhqE-T}OIx6j4DpX>gfGw*Ze?CdVCNWWU^ zUQDTlgh(l+OxT1gl9Woye#qTYYPgrv%LBwDDYeX;fy{y|aVB%W&)lrW8%vyx%&ddt z$c*nBbwz52ydfnT^>Va>efu$FsWb3PC8>~aA^FbSP3ri`hwO(eb2d<(+=|g4WVtiE zTxCY%IJyKWaOO}fOM##0ic5HkZR z^JpdJKp-oep<9%MZ^P9X^0qUJ(&-y~E(3YTnZvD73waMxFomyUorx%K7R5(FO8>GlOz* z7oHFytDHp?S_>=c{Sd65a(2wCGy?WOknUdVTlwayf_)8_}=cOdJW){oj*`(ntC zc$R^zcWSsNS+ac}j^2ZKC)t@fLP_XPc<%!8nKOw;)XR`jkd4mOZ22e1L`bPovxRDZAR=jaE*1;}6_(Apu%7W$>SP z{({)FdP>NN0P#J2+_4_jOVN~cgji3YaPL-oLU<*ryxNP zk7nDfwvTZN&oU6NR^LrsZ8kziLQJiVeRVsHa~aZE3uM(@tr#^yx@cjPxsVqjfm+aZ zb+mj6SqAB7f-fQwg!2d~eW#aKEwE>k#B1 zGQG5XRu!JZQvjr|7G9-#zwtcAQAhFqs@BH!`Vw*zButCuGB^B%_iZ2pv^MsY^|#7| zYq4x+$pzeVkr|`~^;IozgUo^q)*>m7w5iOkS~6ujWC=32X>pXee{d&~l1n)N`BX{< zCFNgyHX)^yat`u?lp@N4|1iTTrJmwx$F)vM6{QH`|C`l2{{B^Nv70aASx-s}Gn*lO zq=Yha&n27}QhbyHkXR}4lv$T?BuI&(v_qy#$)qe1HZfmH3MJ6bCi0{dQ$B{gDs2+tNuMtCf&?$Y?E?GTUnte@Llj%jJ+uQcBtKNYf@f z$E~V7w!8xpA|;&djQ80@6eLEApWXrLT$E8%U<-L$OQdYC&30-U=S4slg z`3+JGxl>D}EW6ewHb`k>%SRzQq|~$J8G$zOiLxrrG&EOpzCd7 zsTBMjr0i=IWTliAwtQoEn<$e~$#ynDY9Mi19c5|{n>Z*Xnk}z~oR#8Z%R_=~;_7Cr z%Kt{y*H@50DNSrAuBT0eL+;huDD99@QWDwnh#PETf|O9Uyd5%4N)TI)?PU{LQfyn* zQMV6L0Ex$4MoD&vO?)UNoh^R@*&-#1E#KAKCcc*v!Ioy$K)OnaX4NW4sFXy?8OR98crDlyAosXqgA_t0Xc=sIDl#8S$)i+2zJ@%g#j$1IjW)4YN+e|#58Q-fRZ1mgEhHN9u$IY|JB8s`m6Ae9hD?PdX~8?xvGFJ51;`{VrGvZ; zc|>bq%P}|G#9ArmDMgTNkVm!EZ251<4^r|e5A?T*-yz9bE?Yhdx#|RdSy8L$Al)F3 zYet1ST1E`8i7+Xllx2|7kjYvtTW*HjFQtNVdpOQPNQ&0VmUlxILZ)aDJJp(6QUsZ* z#jxcY2I49zC5e&_*$#O^i+f)k8e6n7Q7p;6?Ks7A=9-? zwtNhk{!;QOg9hO~2zgR#=UOa;BuHtd)I+92(zHspJRt&i2gp;Jf3;dKOWuRb(0pFC z%q5UdrG!&@4YrAD$V@G^gB*dRYuS_!kU1+QjdBrUJBc^ywNUnzGsGr(L1t@d9V80! zv{uNf24u!cDWi(k4EFJfr2aua6+xAak|4 z4)QA`Q?uU4x5l*pB6C7YB<0E5uy;;j)=`V^AlF0YX}Od}Wco|VpbQ*}y#txAwXv^{ zA&)|`w5VNb%UhBOc}^>4)dk4QQYt8^!))RM$n#oV2iXc)plLp}%mcC1sGsS_!KTK)#hyMVT#WxO zCuD4`mf$aMCj8D=QbWmwbcHO_ znmWiJ$Z{>Hi(1o*$izsoQSObgiH9Hs8vYVmZjBv~IgmHBm=3ZO@}?HSD&HM8@xGLJ z%3?@4le(aKpBbQi`* zQtBu#Lnc6qw3ZGs6Y{PWa;;kTf04giwTU+&?`gH{Ycpg6ZjPm!peH$O$P$l&rh2NF1w%-h(^QIjfygW-dd#QmQE1;(b>nmsQ>Fw~4tj6Uxkf$YLo` zl>G5mq=;2<3Ah)?Ogu9I58!!FN(yD$|4S*Wo|}L(S7tJq8U3J5{3Ioha!ukDsbW

    l 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 z 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

    fb|R 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%0Aitzuo%)WBXQk$joet569a`CuNmdW zL^+l7sA#8DgTh_@W4Gqv$;Ym3$d2YM9-Q8qH&~R-+AT3)mHr9G(yIK<`{woq^kzta z0MM+7PR)1TH&|;6)>Mv&mG>MyqQrg#D2@bT*PAMk%4j*#0EPmN?sVhX>U85BApaj@ zZx2&fwyg_Nr+oWyZc*2)*QlG7F$G{3cERGMrqMf00bUUUc}L{h}*L$$pHw z^~v%W%l*FX85>)5cwcUqZ?Lzr!DS*ue=hy43eS{F$@y-4FM_lm0`00rXGw&Z8VK z{m8ap<@r$ieTl_v9LXPjTl?!JX9Rf?2_9}S)kQIZhJb2%c(xr@4S&^H=U;79dOjqX zQ+?8|Vg9cabY-?eBh_Co=^ty({`E>nDiGK=Vo>4!^->EGN~s{}L4SOA+x#W(ahpDS zc1bNqy`;mnLU>PRZu%rB|5b;!zsAcKgdmfU(}CNATFO%6n$m|kDSopGSCfC$IT6>` zU%&aP_<6{u-q=LoFIaEUL;z17$Nw^+#r8(s#*>RJNO%TK*xn?|(3N{CzoN@RJX!Ib z46w2lIjx~!j@?#r21-{tlEAvsk#xP44l~jr-mi415o5fb7Y3ee{q?*_bg4v_N)%p- zN?+S7o%uprnM_jlzQf9vs@zhQTL}!E3*lBn@rvD_T{%{vV--5~u+{b?g=6)9;;u?B zj{S*V9J_Dbezhce@Z^lHmNcWQWo49=Q8vc1GM1IGY>b*RYRa$-u4)GH6dOqfSL=zd z$x8*RL3c}aQ{zVcuC~nRXJvd=h82)?dG4iyi*u>imFauA}g}-ZvN#x!2_NA zsxyAxKB_9(B%*r9x0>V>Z zQy#Xuq()bl#8W&Owz}kDc_=(B)m%$8pGjcWZ*%R?c#6^a1h!x~UC`oLP}qWpttJgO zUo@db6({vk6Fen*%U*Y$n|tl*Uc0*2 z?qP4zYN=YaRMmy5>aKdByk;;BTe*gdNrt|f3t!dKuj=X71a@YyGliWg?99WSA1dtmp}_Fu8VZb+ zNnzm0jC6E+lT_r(5!Lo`M1=5Up_e0x(JM20rADvR=#||TaAW*W*Kso?TYJnB2=uva zR^2xuNIYeuDc;&+CbRLi$6mp3P%v(jq-;%ySw0>W3`4=NxV45$1h$=%tx04h4<@1l zA%YYYj6#7%-!(WE6-bmN1yfOh5J8Fx#-TtX@fsY93ZzD$V09@f&}v#;iVCn>xu&(Y zHt7{ihccLn3WS*DvLVWaI1L5US_acz!E8_<%MC`)0zIqfS&yC%=!NJU&Xv|QNUuRj z%-v!@$GxSsMW7c|H^>oP3TT({63`k**Ge9}9MGkhaUo_okeDEFR+gb)S;T2q( zg1j0P2ripX{o)eAzSN?1uGzF^#~? zSbMDXZX;?OLX9!11rvrwV~i_fTvd%5V^SHD%CN~Sh9=&Vh(nY~%qk;{M#h*|#=NSU zH-LkzI95i8 zr^e8L79*H3E>$8#CS%+v<3?@VD8nK~3=ziAJ|6q7F?vK*?32dOt{3~7G5S>^^dVzN zA8_qk8QQj8Q#OV)W7kAo8`oxvu2*q`>|-^K_Qc0TQr1e%yRetm6mTSW^sXvZ%qn;XCX5)BU@V=<9tH(& zf+WPOf(g=H3T7Qy!yWaHTJ!*J(#A9GIJk09>S|9R6UV^^H+d3bR>2zIsZi=F!dX(G zUxJEy^g@VPrJkrTYO|n1qA+Eo6;)_xuC#oXFN3j<5h=v1@-Z=HRFr7q?@dtgDXI`+ zR{4~uQ0lXpRE36m^7lBX2=V{et1#+HUQp2)yf}#}gqT%M^uT%zQ_i(^m;XwaiM>H@ zvsslRVv1u&{oD*_9(fmazd8^JLVg)2Tyo%K5T4IAl}Km%WJ!lqhxo z5_*rl{PpXY(0&~Y!q|6USj7z{^GaHXs6{2k=7Vhl5nOUPj{&Z7l}zeu3ij)@2!7j^ zfLj87doS8QQu&%U*2P40zPBBTymp?o_8@Pq`YjH6B$#HEQ?=6NRK}Wn+Z~Wr887W- z>91O5zs}<5<9_x`svFOLv5RFi2jbYyG8a`RZ|~#i#HofBE0BEFR9K&xk1A%pcXYhsypt6fXES7QLA_Xr zD&`Xv05}!0BxMy7=0)hHQN?1S0syB%7IUn^zR6HQDH5Tw6jhWG6=^Zgg|b+kGcPPM zl%k5|Lj#gJ-4AJJ8>b-i2>{u zl4G>Tmwea6=;qHy_2*;s=Q8o9>iwz6!kru3p_K(qvWS8wnY=O8pHy{xFK6v0QH_km ztg^HzG8I~UmH1vqCHa~P4yBw5Ox3KkR&pH<$fXr-H2AN!G_*zXmuFbi(iWuvD^_vL zUE`XqbXqQH#zRtgLS?1LT>PrJjNe45^dz|iAm);#O_8ZMQx#{S4k~?#3IL)C%$q_k zLpVEE73Wb!zgIzrUQq?+O{M~WYN==!ezVLx?7wNL3?|L0mvfH|xiz^Fua^wgl&)EN zIW7LYj6>GT3GWXbn?-*xZ8CqJT9AL)t15a!mR_cJ5U;!nOq)za=|V4f=0wYK?H4qn zib@`2apq-JixHEnmPbw;Wd-`A(h-V~;n_f+P&$Qlob3cU#tdpASUD4YG0=6q!g84C zC8N{Ymhc==aSUU0TCftG!z4~uG&>smYJS!jqhf>{!)a) znTOf0G}W&r)4y<6qL|FVgP&$fqReTKL^IX|=*Rpn}9+y3uI~LUis@*dmWPqaHzJ)oVH9F0z(P`eSFy-sGl|77?V9 zdj9HpR{QW%rM?jHEl?)RFw_GMSB%aP(TFMRHAA29Cqt-ZQV-IX@ca6sF~h z8pOAJ)CeU2rH6@1B*dq+0I}OVtDSb6=U1%`Jh>o#?a&R(UpvJNp2Fz#XGd=*lGJ39 zn$j=Gyqyvicv5W)(tp=_?W{o~_1ol<$J@C?Q*vA8?Lxv^G%Jg0h1#E-;Gm(Jm3C#8 z6WQdJz}wdeFHcfcvr<(>Rn7%h?%HVrttF}Cp2pj{si~`)I;)Wm*h&PO2G#!kw#iTt zNNuEo9}_i)N$OLQI!aQXlhkpNI!RJrl2n@eg)jNMJpMoeZa8&HFLRG^>wcGo}YXGZ-5%K&j-br?OTXuQt z(Y*CUYm!~^ehb!+X>4TN&#JwOM6`0cs!ms*BKi`TD6V+Bcip^#oI zq>K7WDSx$yFQH>QlT+y(tDACMQH>!nnk&kQ2iQ9$GjOAx3|M_8>emRn+pI>P# zKrNsqLM*6GnupaPu0dIMWNY|b74gDgwGv#H{I%%w}sqrigh%OsJ0eB4W`H;7}LF6@h|| zk|E|4Q7R&q6@ev<=vXcyaz)r8htBR&Pmjz>kLoxoB90A#@W!4V194}gtj;7ADsSH) z93QISWl{BwsB2!|l&fqv1r-P#86Ty04h~~>_&MG~s-1ZVG$YGNAN}nQZ zxl!pWBKj3!3y(^F(LBN@7fN?Q^yP$#K1K5(1Z|Wj=3m-d?zYsRqY8VAy>g=YJ&DV! zPVI7e7j+|6&o7};S0W2}m)nK`k*4X7)0ffE`)HOXXnjB2dSrZZFJ)ZvXRl$2yY)qPF9c9h{c8Y#P-0ENUM=V%o`bJ z*m!Cr*@Cy?()t8X%5fUSH7(LsT$D7fR@&+eZQ8p^n^foR!Ub!Xl>eq)B)j#N)fp4F zC#e@{%PJ*}YfT4pv0TEJG#$&ttS<}6P2r0=$;Q5wg@(v@bU^Cai)kwhN{SbGVnkrG zg{)EmsLzv@RV%6RL{_DskP{4Qnlv$=lX>=~@bWIMYXl<`W<&!uUFD$Ov5I?bjKhwT z8S!G?$RZnAEaZettFC!7GH(QX!iczt;XrcY#k`Rc8z~ix&>olSnlmFhT+nq8&dD5% z5Dt4`X2gqmBg+h1PK{u6F(Z|-8nF>4J`tJ;hmAEgl8AXDIm7bQ2=Bg$!zJDx1t4-9sZHvLV zs1EZdUU5*7@D`9)cf{(B(jrKXKCCh^W^pBkCn~c?q^&Y3X((^xm|@2SBb^c5X-0Hl zkH;)9LO7hLm=Q1LjmQSdg%(Uzqf#}VaAL}umh(lj*|^2-VAYnrY4V*=7(D~cJzPQZ z0gE?($zI}{p*BUP!b;9ftic{?3kXleVc*mmELF0hG+sVK)PClp_Kg6ZB~kl^y|_ue zNRC+43!CS}XFSMJFA_1ARZM(PA(g_n?=USgpI34kM4)+4s z9JMVRzoa=!j#bpCO|s%M9^RyB;~!@Q6G>Fc%ZW5Am}Xi_csi|Fv8iW##(i$hN+RZskR!PDni@&YeXP7L zv;f1Cuhp=$l@~<`Lut>F380$~4GZAal1-TKX2`0nP9!Lg3Sjlf0N9dRopc(sb*xSr zfX8qLm{$$c5O{-)x8!iPq`bHHl!taMdu}*Svds0sJz3&N@f-C+BF8&zxF^bZF$CXCo$x`@Jdud9TYX}AZWAgKq1hmui-L=F%4StdSW5f|w8p!7ou zvy>BkcsO+lg?F=8RPf|w^vd3+$jz(Jp}F7FCoK@BRL+iea-I(4u9euLHb1)U7TNsH z4uxo_#JvMeawaj|&?FZHu5WO+hUeK@jdOr!B(;>(3M6ddP(HKjB=6MW;|x0S#*-O; z!Im2pmYzoEh0n_5v*~AKp3S7`O5t~LE6tR@k|(dwSIWBg7?#O{erxdMpnZI5Q0nF- z;w8r^L@$-J_*YF{Hm+ha&6i=S+N-Oj7#_{$nJBF$=T24Ij;xlAO)VRxgEL8$v@xo> z?7gjGZY?%7P*l;>Z3t6I8$zqE6Uo;m`C4thjw7tu)ZkK0&c3RcYKzUlrhd)d;tYa^ zO`DKZtBK93NmkWnHO^O5(l&RhwM4RJk~NjAQLrJKYnLi%)6Hsf#8%xh$t{)KLZH*x zs7dxHD|yYlS~tnMu_;8d%_Ehxr9`!vc-u6|rb;4q^3nqL0W6wEE@P|7fnoKNNq$nv zPmtv4#M-<`YGS$U00-GG4*G5&+wz8_p z!D;o>Bu~}mY24v5Z@ZM09I{rwn&ekw!&@FY=@oMnfei54s%gStCr|V@4Zv&QVM{hZ zwPDcw!JzavL&39;ldoYwUc-BfK~AS|Sb+sO`kUpzvvVTc))E?CuQXX3vUnd>^NV{* zg6nm-L8Wy=pN-M8LVG()l^f>7Z?((eN#ss{d3+)qo zAzRxz{8u@uhiSCnJ~D1D@r7m@ak4D9Cec=o+`@zQWdM_DpG=f0*KXGI_Fkg2&W3Cr zEK0YSX1g0!|MAIf0!G%*M0oTA%Vu^J`!K1sdpb{+eu5neomf>b$wCzy2Vv!)m0!Jd zuBLZEt2Gh|6K-*}O0=-SAT%z36%5+&E%=qpRoMoO{`5~9fh3HWl+kN4@|(?4#mF+z zR?-SD6RmVsFx(w|FcmWE1sz3WZvv1kt#0YR>fcke$EVZwSzAsJf&L}_l}IY3y&NQ3 z=|aCOX>pD(;APbtERpbKNo87O<7>&;dK=bAkxAi5mMEk!Kf(gVF%g59$)%BBV6_oH zSXsRxiRz83WR1Yp8*K;cZ3J0wa}bTZ>$o67P0RKA_%X>fopn*^K>m9Mj+Q?E9)>_R78kyHx zMmSZ(sXMA%?_nYqH|us*hWZmCNFFIe7a^^M1F7TLx__TZ-<|<-C3zW9?1P;Dfd_pW z^_&O(V*zT6Ja`b1=D`E!YxLl4^1XxL!P~CzF~+=$%Lg^AQ;fVTeg<;wv6PuiJ{**f z<}e~T=&(SI6ST@?Y4ylKM+It}=*x7Fk^{7S+DVP8FSM_PMjN0q16-YP&`C8gL(tWk z0F|SteAYpyRqHHkoefZ#%dWal`_iF41qb6q=meXYa9Xv4$W(fDB0|w)puv4|myY>a zt8yZAj-hi-Ye}KX2~b&IRLTyzEKuVFs4QYud~M_cHBNxaN@=ynX+2U0df2s|2<>D- zr-L3VR5?DrqZ^|TD!32HU$c(`E0L?07*-KLN>p2Wi-YUoF>7X|P zHBNxaa(5+<(72gJT37PeDs496gLmNmCVL7b!%+|abvk>*ym53Klx^zh3%9)$*D5Q0 zA}1RGE3s9|oH|Mc)wNn^)@@Tt?OZd#N zjU#RhG^)s*O5R{%ReJh>nVJp5+ChH16ji@nDuWhD6m0O65k1)#TDQ@9U5gk`h6Too zE`{)92E7c;KISsCU}#gt7~;U-Z(L!)jIS&)e(g&julMrsDf+P-RCEPs3|~yHM05pf z=ZfmC;H_#lYTs^(+LaN8Sa(? zIShY3i%z;gw-Ws=odxXEIMUh-m=A2J>61%1C)dBKH^Ez*2rH615cZ*U+Z{9HfV91C zMe?!+OMB?0)iEaM5qZG`IW7jD8YlJ!?5{kmyX)G+>S5iz_Qk*b#9IXrRu~nm{i#d$ z^#?*&e-Kox_j(o7L*ffm>jOc>`hco$!qsVS41QmHAHO7?KqyR1)ZVXSv?E-^V*b?ehAjdqGouA2~CL7u?H?Fn3X z{^|kknNd;ED3#nOTsss7WfwbM&Io)e>^aez0RReo>o}0ZQbHmeZl=3ZJ>7S`8L#!dhCx3_ToL>&60(Lvzrf zh!fGaCuu>)aRwy^_R^xBWryOkV(jN4h09dJyjKK>#gFy=(Cq@AvbWx2>SAw{G9Tdb zCkU!T)cIJVVpak1iNHt!0|S|gaZgs za!R%_pihc(y)Q)H_2kuJL?Rb`lV+eX3r(1-nVT|ZZq*wLW^JmwjSCdxp)$}gS%MoV zB=RF;=zb!%Phwmon>OnM$r0(gtQfeurJ>Cwp?J$l( z=VMc}fNYI?A(31#$pw{Mh;82_t=A;GL+gtsxu}x3UBJbSj+K~LQa!e!Twk&gW=SQN zs4=a{f(A-TN>0ChrA19z{I&M=Wk#d$*UQ>Kp+bltx&0T1e0>}FIz}CQK2I9RCHdv{ zkKrVRNP2{DTD>t{6atxBxena*w#W?)T|0v`0c^cdxh1p(rVVHh%1@{=?GS+zM4*3( z)I3S$Cnm*V#iTd^Eiy^)i-6 zkhVzCPX)n^g&m*>4nnM#Ft{owLMb|9GUcEcHr)hkAV4KR=O+)F}pT{-y zmpj-cCa@OTU#mOuv~NB6_2yQ-A;VfDxydzEF1fd`Zr8h{w6{3dc42BAx3|`F?UGy^s=|M)gR36y6}qG^ z0srx+b(s-BZ#o?1xWR*Jk;ynU)HoH?0&qKTA%;pV#hthH+}R>6+)vg&7jz#dVMZ_< zoEEk_@%ur&|Mg$~9XoUXyQK1tttgMR9Pk+#UNqs?OtRNq?QQsZA>4Js?LtuR^H12k z?#f70_FTqqxKz4fXWCgsOotbwOE)6%uZI!Ao$<$*Zs*FTC4+t&OY|Vc+2@)M@Lxu7 zSRdTn=y2X`B&Q}D4}ESo29wmIBsG+zMv_#rD%_Yzc($V3n2{3P7_pd}ZRpHmV?;}N zV_q?15u@YzhHUoU&o-76GZ8W9iPWbzWDgyGXvEo=iWu!Ao@C~$5oOlot{ZiY4O6}q zQKqZz8x=B0@VSIG&$Pva#`BAfazdlfm~Gf+L{!y`o*1H7h&yjdQLto5kzJ1NHMKaJ zdXWIKEheGOY+z1~C?4A0#z(wd8%3oBW*di5^ivQ$EQlT@qMz03=O`+jhOB-rh@K>( zUsUu<6qT`!MB!cH@K=bY>)(x$&^cadAyZ8d&uFmUn9+IghWU&Aw2cd9 z*|dDaT=@*vC9{@H%B*0Ab>o^@u3df9YWnD=v94u(G$jESy^1YN7cU#Qq>3nshD~0_ zHfC4GHUcjCAC;V_CnsJ>Y;AUvYa`%dPNR~qsstZ#kDkPK_tml!aIs9dowDaMtc2TJ zB+duoSR_i^BIHCQE(he4&O1?$s7p&+Q0^^pNx87ZHF?8vlgqH3L&T{OvW>o!Kp)wl zAR+@A|M?~)gZK{H5Hju8yeGD5b&Q{9c0|ALLhK}h2DaCBY1h_->%;|6Xc#0@Tu zYFMYCeMTIo6P$#*GH{m;$LR#8F%-CKhr@(sq}bPOe9fsrD~avBr-{)rAX4r z>&CK;x7kyjmZ1=ebLEYJh}zO-)_)r%U+Jepep*x1gWISFQCC$_eYa7#1;AxXH8!WP zGr$~qQOOr6xvb>Nl$4iWoHn>SaGw&KHoH4; ztpuly4>(-`ZpeB#Jh-pOb+8TGSVUVy;ange?%^>PhPf1sJv`>pFtWPdu!qN7+tA#i zy4`5$Q17dzWspw{`Q#v0O`iGulY*F>icIW_rg->NH6WB&lRYy73_4#S1RAE^UDWeuZgN>V5HR%C&CA z_9s}SK1CmN*dE0`NU%z!p6IZ>itS6VN_~p{=&hE`8K4S4)d510CGGKPJ#BAKw+iW6AzhWTmROh* z^dHdfe>c$fKTx3a#+zabxnPJQ?eRa!9h(>9;_ZuZ`E~mLK;&3#Via2*dZRn2x(~RG z-|CgLKX`)zW2H*h_P}LJKX^}>lbsv_wBIF0bhntT&AKYD&Bmc|Qk;MO5&n6+EZC)q z)Q%&5Uh$}+A0l;5s4quBO&19-M*KcBR88LqZnw~J~tnT zb9nL`=)Wf~No*o!@-SM2Z6;BCbI@Res%=oTZ6;d`wYtJ;8t?FAqqVvfmixWsTI~n^ zIdnk8^9&T@Vh~cd9@>T5!WkRgCf7uu2GYHN!`$`$#jPt zRe98bjgsPr{5Rb`Ome7Ox~3sMSu0neZs{gse9P)joT(rGnSJKs;8w%aK$H-;C_2dy z7Z?3Ub8L3rjVA>%t}DTJ^J=MHjPI3!~gRw6dK_CZRY3YMhvVq@H9Cg00i0~87=e`)@i+QSd1 zuJ4l~{pBbr!e5T`r{|-G5H9I>_LtYH4Tmf(zUo_a?+187HquEFu( z!|x-$Wl2Ih%I^!Fv%p!B#!F51f0T(3ZnttCpHBby6uOr@f4W7q>l3Bnx=AP`Drh|brc5ntrG!m*@2MGxw5Sz z7vJH*)(OqP{!81xllxs;NB04NavGIx{nNSvfW06fU=Ywf1{lHc0DVlq|J`kOaPTBi znRRPdi~2}bg;?>4{I^fq`Ifekt@!PJP!XpR%XRD~-mU(=)k}Yi6qLFLPzxteiO{2!EqhgeJb;O7txd4!{S8}^2 z9bo}NxN=6er<@T@i23a~&ymw9%H7jNDdO6kACtEiJz5f~r{p;$o9bxO{p~1w`k9FO$g_Go8wU8Pyhb?Fy5ZI zm#tv%{vNkm`A-m?q4#56ND`{9={ZfEJ^WM?_kXgp{GSJe@H1}m{u8EJXrA8}{$)Rp z{m;bv;r{pdU*v=CW6aOvq0Rnu%}P<{KVyRV(>3=INM=7zMTXpr=>2bh#-OKBqSPhM zl)3=Mq(hx9bt}2sa6L-s5ggB!zmvb^L-ly2<&^%Zh8@l24mRL;dKC%M{&xn#Y~wa7 znHB5|{F&z$_p_ZL@d8h@!o2r>_TRtU|4;vKw)5B*%g&IQ^l+5Loea{nGvwue>+`9d zCq7m0PEtKdsy9g`TIvrHUVoBGHaP3av3flj%j(IodOh)aXVh{%riC=71)a2+og`IH z3a*}JbvSV{Ikm5kCcIQ}Hs^0EXJM%tOzvojsi#}Cv^QoPZPrbkKshwq?dVlRxJGoE2 zzw)V_noqsI^r@XX?}diN!jA4>?6krV3la~pJAPARN7^0rvlb6SHu=wXaOjH|K*P|^ zCzbq2eO4t(OHyeOBn8>H=aG%1QX5^KxAWNg*<;PhW0`r~ z$)FINMyJhrUBCR+C-T4bWlt?gMw;kMLs6s0JJQf!9zisxMOAs27yiBfElfv#8HaTq zJ~(_*@rSi-1}0Jl_)k0%u_8De1�R{(@15X5sK!EI%CpjE1px9(6*s{{;m@RBkq; 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

    n{=^}GCJ6#u9x7lgBEeHpdFX|#4n{hn> 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 literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/GsaGH.dll b/UnitTestGhSA/bin/x64/Debug/GsaGH.dll new file mode 100644 index 0000000000000000000000000000000000000000..38e354ae458b7c517a2ad704937df9a011fb16d7 GIT binary patch literal 1088512 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 HvMHdx!|VO_9p{_UKX)@Op5 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

    + + + + + + + + + + + + + + + + diff --git a/UnitTestGhSA/bin/x64/Debug/NUnit3.TestAdapter.dll b/UnitTestGhSA/bin/x64/Debug/NUnit3.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..0bb7e54ecc2587fb3127d1e0dd74a503ceafc3a2 GIT binary patch literal 372224 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�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
    7rCKmBC%7uHU4 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 mQk4kD+{>M`5sj*hpAXNx5sk*4NaVkupaK2V$J + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + The default value is false. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets the naming strategy used to resolve how enum text is written. + + The naming strategy used to resolve how enum text is written. + + + + Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. + The default value is true. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Initializes a new instance of the class. + + The naming strategy used to resolve how enum text is written. + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from Unix epoch time + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Gets or sets a value indicating whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + true if special characters are encoded; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + The default JSON name table implementation. + + + + + Initializes a new instance of the class. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Adds the specified string into name table. + + The string to add. + This method is not thread-safe. + The resolved string. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Converts an object to and from JSON. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. If there is no existing value then null will be used. + The existing value has a value. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Base class for a table of atomized string objects. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the type used when serializing the property's collection items. + + The collection's items type. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 128. + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + The default value is . + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 128. + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + The default value is false. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + The default value is . + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 128. + + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + The default value is false. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's property name table. + + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how duplicate property names are handled when loading JSON. + + + + + Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. + + + + + Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. + + + + + Throw a when a duplicate property is encountered. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a with the specified name. + + The property name. + A with the specified name or null. + + + + Gets the with the specified name. + The exact name will be searched for first and if no matching property is found then + the will be used to match a property. + + The property name. + One of the enumeration values that specifies how the strings will be compared. + A matched with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Determines whether the JSON object has the specified property name. + + Name of the property. + true if the JSON object has the specified property name; otherwise, false. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + The default value is . + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + The default value is . + + The JSON line info handling. + + + + Gets or sets how duplicate property names in JSON objects are handled when loading JSON. + The default value is . + + The JSON duplicate property name handling. + + + + Specifies the settings used when merging JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Gets or sets the comparison used to match property names while merging. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + The comparison used to match property names while merging. + + + + Specifies the settings used when selecting JSON. + + + + + Gets or sets a timeout that will be used when executing regular expressions. + + The timeout that will be used when executing regular expressions. + + + + Gets or sets a flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + A flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A , or null. + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + The used to select tokens. + A . + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + The used to select tokens. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. + + + true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. + + + true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether has a value specified. + + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + A kebab case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Helper class for serializing immutable collections. + Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed + https://github.com/JamesNK/Newtonsoft.Json/issues/652 + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + + + Initializes a new instance of the class. + + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + diff --git a/UnitTestGhSA/bin/x64/Debug/OasysUnits.dll b/UnitTestGhSA/bin/x64/Debug/OasysUnits.dll new file mode 100644 index 0000000000000000000000000000000000000000..67b32dcb4d399376bc8d092f6ea67559e77f16b8 GIT binary patch literal 60928 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 M;ri+IiL=0e0Zg>~SpWb4 literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.dll b/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.dll new file mode 100644 index 0000000000000000000000000000000000000000..1cadbf3ee367da5c24e64e25054ab2fc0b6e8e79 GIT binary patch literal 78992 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 K-NGShM*DxMJ0np5 literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml b/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml new file mode 100644 index 000000000..6dcce66fd --- /dev/null +++ b/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml @@ -0,0 +1,1299 @@ + + + + System.ValueTuple + + + + + Indicates that the use of on a member is meant to be treated as a tuple with element names. + + + + + Initializes a new instance of the class. + + + Specifies, in a pre-order depth-first traversal of a type's + construction, which occurrences are + meant to carry element names. + + + This constructor is meant to be used on types that contain an + instantiation of that contains + element names. For instance, if C is a generic type with + two type parameters, then a use of the constructed type C{, might be intended to + treat the first type argument as a tuple with element names and the + second as a tuple without element names. In which case, the + appropriate attribute specification should use a + transformNames value of { "name1", "name2", null, null, + null }. + + + + + Specifies, in a pre-order depth-first traversal of a type's + construction, which elements are + meant to carry element names. + + + + + Provides extension methods for instances to interop with C# tuples features (deconstruction syntax, converting from and to ). + + + + + Deconstruct a properly nested with 1 elements. + + + + + Deconstruct a properly nested with 2 elements. + + + + + Deconstruct a properly nested with 3 elements. + + + + + Deconstruct a properly nested with 4 elements. + + + + + Deconstruct a properly nested with 5 elements. + + + + + Deconstruct a properly nested with 6 elements. + + + + + Deconstruct a properly nested with 7 elements. + + + + + Deconstruct a properly nested with 8 elements. + + + + + Deconstruct a properly nested with 9 elements. + + + + + Deconstruct a properly nested with 10 elements. + + + + + Deconstruct a properly nested with 11 elements. + + + + + Deconstruct a properly nested with 12 elements. + + + + + Deconstruct a properly nested with 13 elements. + + + + + Deconstruct a properly nested with 14 elements. + + + + + Deconstruct a properly nested with 15 elements. + + + + + Deconstruct a properly nested with 16 elements. + + + + + Deconstruct a properly nested with 17 elements. + + + + + Deconstruct a properly nested with 18 elements. + + + + + Deconstruct a properly nested with 19 elements. + + + + + Deconstruct a properly nested with 20 elements. + + + + + Deconstruct a properly nested with 21 elements. + + + + + Make a properly nested from a properly nested with 1 element. + + + + + Make a properly nested from a properly nested with 2 elements. + + + + + Make a properly nested from a properly nested with 3 elements. + + + + + Make a properly nested from a properly nested with 4 elements. + + + + + Make a properly nested from a properly nested with 5 elements. + + + + + Make a properly nested from a properly nested with 6 elements. + + + + + Make a properly nested from a properly nested with 7 elements. + + + + + Make a properly nested from a properly nested with 8 elements. + + + + + Make a properly nested from a properly nested with 9 elements. + + + + + Make a properly nested from a properly nested with 10 elements. + + + + + Make a properly nested from a properly nested with 11 elements. + + + + + Make a properly nested from a properly nested with 12 elements. + + + + + Make a properly nested from a properly nested with 13 elements. + + + + + Make a properly nested from a properly nested with 14 elements. + + + + + Make a properly nested from a properly nested with 15 elements. + + + + + Make a properly nested from a properly nested with 16 elements. + + + + + Make a properly nested from a properly nested with 17 elements. + + + + + Make a properly nested from a properly nested with 18 elements. + + + + + Make a properly nested from a properly nested with 19 elements. + + + + + Make a properly nested from a properly nested with 20 elements. + + + + + Make a properly nested from a properly nested with 21 elements. + + + + + Make a properly nested from a properly nested with 1 element. + + + + + Make a properly nested from a properly nested with 2 elements. + + + + + Make a properly nested from a properly nested with 3 elements. + + + + + Make a properly nested from a properly nested with 4 elements. + + + + + Make a properly nested from a properly nested with 5 elements. + + + + + Make a properly nested from a properly nested with 6 elements. + + + + + Make a properly nested from a properly nested with 7 elements. + + + + + Make a properly nested from a properly nested with 8 elements. + + + + + Make a properly nested from a properly nested with 9 elements. + + + + + Make a properly nested from a properly nested with 10 elements. + + + + + Make a properly nested from a properly nested with 11 elements. + + + + + Make a properly nested from a properly nested with 12 elements. + + + + + Make a properly nested from a properly nested with 13 elements. + + + + + Make a properly nested from a properly nested with 14 elements. + + + + + Make a properly nested from a properly nested with 15 elements. + + + + + Make a properly nested from a properly nested with 16 elements. + + + + + Make a properly nested from a properly nested with 17 elements. + + + + + Make a properly nested from a properly nested with 18 elements. + + + + + Make a properly nested from a properly nested with 19 elements. + + + + + Make a properly nested from a properly nested with 20 elements. + + + + + Make a properly nested from a properly nested with 21 elements. + + + + + Helper so we can call some tuple methods recursively without knowing the underlying types. + + + + + The ValueTuple types (from arity 0 to 8) comprise the runtime implementation that underlies tuples in C# and struct tuples in F#. + Aside from created via language syntax, they are most easily created via the ValueTuple.Create factory methods. + The System.ValueTuple types differ from the System.Tuple types in that: + - they are structs rather than classes, + - they are mutable rather than readonly, and + - their members (such as Item1, Item2, etc) are fields rather than properties. + + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if is a . + + + Returns a value indicating whether this instance is equal to a specified value. + An instance to compare to this instance. + true if has the same value as this instance; otherwise, false. + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + Returns the hash code for this instance. + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (). + + + + Creates a new struct 0-tuple. + A 0-tuple. + + + Creates a new struct 1-tuple, or singleton. + The type of the first component of the tuple. + The value of the first component of the tuple. + A 1-tuple (singleton) whose value is (item1). + + + Creates a new struct 2-tuple, or pair. + The type of the first component of the tuple. + The type of the second component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + A 2-tuple (pair) whose value is (item1, item2). + + + Creates a new struct 3-tuple, or triple. + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + A 3-tuple (triple) whose value is (item1, item2, item3). + + + Creates a new struct 4-tuple, or quadruple. + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + A 4-tuple (quadruple) whose value is (item1, item2, item3, item4). + + + Creates a new struct 5-tuple, or quintuple. + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + A 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5). + + + Creates a new struct 6-tuple, or sextuple. + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + A 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6). + + + Creates a new struct 7-tuple, or septuple. + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + A 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7). + + + Creates a new struct 8-tuple, or octuple. + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + The type of the eighth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + The value of the eighth component of the tuple. + An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8). + + + Represents a 1-tuple, or singleton, as a value type. + The type of the tuple's only component. + + + + The current instance's first component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its field + is equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1), + where Item1 represents the value of . If the field is , + it is represented as . + + + + + Represents a 2-tuple, or pair, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + + Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. + + The object to compare with this instance. + An object that defines the method to use to evaluate whether the two objects are equal. + if the current instance is equal to the specified object; otherwise, . + + + This member is an explicit interface member implementation. It can be used only when the + instance is cast to an interface. + + The implementation is called only if other is not , + and if it can be successfully cast (in C#) or converted (in Visual Basic) to a + whose components are of the same types as those of the current instance. The IStructuralEquatable.Equals(Object, IEqualityComparer) method + first passes the values of the objects to be compared to the + implementation. If this method call returns , the method is + called again and passed the values of the two instances. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2), + where Item1 and Item2 represent the values of the + and fields. If either field value is , + it is represented as . + + + + + Represents a 3-tuple, or triple, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + The type of the tuple's third component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + The current instance's third component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + The value of the tuple's third component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2, Item3). + If any field value is , it is represented as . + + + + + Represents a 4-tuple, or quadruple, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + The type of the tuple's third component. + The type of the tuple's fourth component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + The current instance's third component. + + + + + The current instance's fourth component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + The value of the tuple's third component. + The value of the tuple's fourth component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2, Item3, Item4). + If any field value is , it is represented as . + + + + + Represents a 5-tuple, or quintuple, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + The type of the tuple's third component. + The type of the tuple's fourth component. + The type of the tuple's fifth component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + The current instance's third component. + + + + + The current instance's fourth component. + + + + + The current instance's fifth component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + The value of the tuple's third component. + The value of the tuple's fourth component. + The value of the tuple's fifth component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5). + If any field value is , it is represented as . + + + + + Represents a 6-tuple, or sixtuple, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + The type of the tuple's third component. + The type of the tuple's fourth component. + The type of the tuple's fifth component. + The type of the tuple's sixth component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + The current instance's third component. + + + + + The current instance's fourth component. + + + + + The current instance's fifth component. + + + + + The current instance's sixth component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + The value of the tuple's third component. + The value of the tuple's fourth component. + The value of the tuple's fifth component. + The value of the tuple's sixth component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6). + If any field value is , it is represented as . + + + + + Represents a 7-tuple, or sentuple, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + The type of the tuple's third component. + The type of the tuple's fourth component. + The type of the tuple's fifth component. + The type of the tuple's sixth component. + The type of the tuple's seventh component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + The current instance's third component. + + + + + The current instance's fourth component. + + + + + The current instance's fifth component. + + + + + The current instance's sixth component. + + + + + The current instance's seventh component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + The value of the tuple's third component. + The value of the tuple's fourth component. + The value of the tuple's fifth component. + The value of the tuple's sixth component. + The value of the tuple's seventh component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6, Item7). + If any field value is , it is represented as . + + + + + Represents an 8-tuple, or octuple, as a value type. + + The type of the tuple's first component. + The type of the tuple's second component. + The type of the tuple's third component. + The type of the tuple's fourth component. + The type of the tuple's fifth component. + The type of the tuple's sixth component. + The type of the tuple's seventh component. + The type of the tuple's eighth component. + + + + The current instance's first component. + + + + + The current instance's second component. + + + + + The current instance's third component. + + + + + The current instance's fourth component. + + + + + The current instance's fifth component. + + + + + The current instance's sixth component. + + + + + The current instance's seventh component. + + + + + The current instance's eighth component. + + + + + Initializes a new instance of the value type. + + The value of the tuple's first component. + The value of the tuple's second component. + The value of the tuple's third component. + The value of the tuple's fourth component. + The value of the tuple's fifth component. + The value of the tuple's sixth component. + The value of the tuple's seventh component. + The value of the tuple's eight component. + + + + Returns a value that indicates whether the current instance is equal to a specified object. + + The object to compare with this instance. + if the current instance is equal to the specified object; otherwise, . + + The parameter is considered to be equal to the current instance under the following conditions: + + It is a value type. + Its components are of the same types as those of the current instance. + Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. + + + + + + Returns a value that indicates whether the current + instance is equal to a specified . + + The tuple to compare with this instance. + if the current instance is equal to the specified tuple; otherwise, . + + The parameter is considered to be equal to the current instance if each of its fields + are equal to that of the current instance, using the default comparer for that field's type. + + + + Compares this instance to a specified instance and returns an indication of their relative values. + An instance to compare. + + A signed number indicating the relative values of this instance and . + Returns less than zero if this instance is less than , zero if this + instance is equal to , and greater than zero if this instance is greater + than . + + + + + Returns the hash code for the current instance. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this instance. + + The string representation of this instance. + + The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6, Item7, Rest). + If any field value is , it is represented as . + + + + diff --git a/UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll b/UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll new file mode 100644 index 0000000000000000000000000000000000000000..c6c443c8c4806eb0f4af3a76f79546e059d8c410 GIT binary patch literal 40960 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 a8antGfcMb(SsI>OI$QpBj-UKJuKyRkBCc%! literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/UnitsNet.dll b/UnitTestGhSA/bin/x64/Debug/UnitsNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..94111d532cc198db13ee163617dde91e69ecad29 GIT binary patch literal 1635328 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
    6C-JS}@E*g_wCO!o%d+3-UQ=g`ah!3I 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 L*82aitrGZOJvMUJ literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/UnitsNet.xml b/UnitTestGhSA/bin/x64/Debug/UnitsNet.xml new file mode 100644 index 000000000..88a2eb44a --- /dev/null +++ b/UnitTestGhSA/bin/x64/Debug/UnitsNet.xml @@ -0,0 +1,62732 @@ + + + + UnitsNet + + + +

    + Unable to parse because more than one unit of the given quantity type had this exact unit abbreviation. + Example: Length.Parse("1 pt") will throw , because both + and + have "pt" as their abbreviation. + + + + + + + + + + + Represents the base dimensions of a quantity. + + + + + + + + Checks if the dimensions represent a base quantity. + + True if the dimensions represent a base quantity, otherwise false. + + + + Checks if the dimensions represent a derived quantity. + + True if the dimensions represent a derived quantity, otherwise false. + + + + Checks if this base dimensions object represents a dimensionless quantity. + + True if this object represents a dimensionless quantity, otherwise false. + + + + + + + + + + Get resulting dimensions after multiplying two dimensions, by performing addition of each dimension. + + Other dimensions. + Resulting dimensions. + + + + Get resulting dimensions after dividing two dimensions, by performing subtraction of each dimension. + + Other dimensions. + Resulting dimensions. + + + + Check if two dimensions are equal. + + Left. + Right. + True if equal. + + + + Check if two dimensions are unequal. + + Left. + Right. + True if not equal. + + + + Multiply two dimensions. + + Left. + Right. + Resulting dimensions. + + + + Divide two dimensions. + + Left. + Right. + Resulting dimensions. + + + + + + + Gets the length dimensions (L). + + + + + Gets the mass dimensions (M). + + + + + Gets the time dimensions (T). + + + + + Gets the electric current dimensions (I). + + + + + Gets the temperature dimensions (Θ). + + + + + Gets the amount of substance dimensions (N). + + + + + Gets the luminous intensity dimensions (J). + + + + + Represents a dimensionless (unitless) quantity. + + + + + + Represents the base units for a quantity. All quantities, both base and derived, can be + represented by a combination of these seven base units. + + + + + Represents BaseUnits that have not been defined. + + + + + Creates an instance of if the base units class that represents the base units for a quantity. + All quantities, both base and derived, can be represented by a combination of these seven base units. + + The length unit (L). + The mass unit (M). + The time unit (T). + The electric current unit (I). + The temperature unit (Θ). + The amount of substance unit (N). + The luminous intensity unit (J). + + + + + + + Checks if all of the base units are equal to another instance's. + + The other instance to check if equal to. + True if equal, otherwise false. + + + + Checks if the base units are a subset of another. Undefined base units are ignored. + If all base united are undefined (equal to ), + IsSubsetOf will return true only if other is also equal to . + + The other to compare to. + True if the base units are a subset of other, otherwise false. + + + + + + + Checks if this instance is equal to another. + + The left instance. + The right instance. + True if equal, otherwise false. + + + + + Checks if this instance is not equal to another. + + The left instance. + The right instance. + True if not equal, otherwise false. + + + + + + + + Gets the length unit (L). + + + + + Gets the mass unit (M). + + + + + Gets the time unit (T). + + + + + Gets the electric current unit (I). + + + + + Gets the temperature unit (Θ). + + + + + Gets the amount of substance unit (N). + + + + + Gets the luminous intensity unit (J). + + + + + Gets whether or not all of the base units are defined. + + + + + Helper methods to perform relative and absolute comparison. + + + + + + Checks if two values are equal with a given relative or absolute tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between + and + as a percentage of . A relative tolerance of + 0.01 means the + absolute difference of and must be within +/- + 1%. + + In this example, the two values will be equal if the value of b is within +/- 1% of a. + + Equals(a, b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between + and + as a fixed number. + + In this example, the two values will be equal if abs( - + ) <= 0.01 + + Equals(a, b, 0.01, ComparisonType.Absolute); + + + + + + The reference value. If using relative tolerance, it is the value which the relative + tolerance will be calculated against. + + The value to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + Whether the tolerance is absolute or relative. + + + + + Checks if two values are equal with a given relative tolerance. + + Relative tolerance is defined as the maximum allowable absolute difference between + and + as a percentage of . A relative tolerance of + 0.01 means the + absolute difference of and must be within +/- + 1%. + + In this example, the two values will be equal if the value of b is within +/- 1% of a. + + EqualsRelative(a, b, 0.01); + + + + + The reference value which the tolerance will be calculated against. + The value to compare to. + The relative tolerance. Must be greater than or equal to 0. + True if the two values are equal within the given relative tolerance, otherwise false. + + + + Checks if two values are equal with a given absolute tolerance. + + Absolute tolerance is defined as the maximum allowable absolute difference between + and + as a fixed number. + + In this example, the two values will be equal if abs( - + ) <= 0.01 + + Equals(a, b, 0.01, ComparisonType.Absolute); + + + + + The first value. + The second value. + The absolute tolerance. Must be greater than or equal to 0. + True if the two values are equal within the given absolute tolerance, otherwise false. + + + + Specifies if the comparison between numbers is absolute or relative. + + + + + Error margin in relative size to a reference value. + + + + + Error margin as absolute size. + + + + + Compiled lambda expressions that can be invoked with generic run-time parameters. This is used for performance as + it is far faster than reflection based alternatives. + + + + + Multiplies the given values. + + The type of the operation (left hand side, right hand side, and result). + The left hand side parameter. + The right hand side parameter. + The multiplied result. + + + + Multiplies the given values. + + The type of the left hand side. + The type of the right hand side. + The result type. + The left hand side parameter. + The right hand side parameter. + The multiplied result. + + + + Divides the given values. + + The type of the operation (left hand side, right hand side, and result). + The left hand side parameter. + The right hand side parameter. + The divided result. + + + + Divides the given values. + + The type of the left hand side. + The type of the right hand side. + The result type. + The left hand side parameter. + The right hand side parameter. + The divided result. + + + + Adds the given values. + + The type of the operation (left hand side, right hand side, and result). + The left hand side parameter. + The right hand side parameter. + The added result. + + + + Adds the given values. + + The type of the left hand side. + The type of the right hand side. + The result type. + The left hand side parameter. + The right hand side parameter. + The added result. + + + + Subtracts the given values. + + The type of the operation (left hand side, right hand side, and result). + The left hand side parameter. + The right hand side parameter. + The subtracted result. + + + + Subtracts the given values. + + The type of the left hand side. + The type of the right hand side. + The result type. + The left hand side parameter. + The right hand side parameter. + The subtracted result. + + + + Gets the modulus of the given values. + + The type of the operation (left hand side, right hand side, and result). + The left hand side parameter. + The right hand side parameter. + The modulus. + + + + Gets the modulus of the given values. + + The type of the left hand side. + The type of the right hand side. + The result type. + The left hand side parameter. + The right hand side parameter. + The modulus. + + + + Checks if the left and right hand side are equal. + + The type of both the left and right hand side. + The left hand side parameter. + The right hand side parameter. + True if equal, otherwise false. + + + + Checks if the left and right hand side are equal. + + The type of the left hand side. + The type of the right hand side. + The left hand side parameter. + The right hand side parameter. + True if equal, otherwise false. + + + + Checks if the left and right hand side are not equal. + + The type of both the left and right hand side. + The left hand side parameter. + The right hand side parameter. + True if not equal, otherwise false. + + + + Checks if the left and right hand side are not equal. + + The type of the left hand side. + The type of the right hand side. + The left hand side parameter. + The right hand side parameter. + True if not equal, otherwise false. + + + + Checks if the left hand side is less than the right hand side. + + The type of the left hand side. + The type of the right hand side. + The left hand side parameter. + The right hand side parameter. + True if the left hand side is less than the right hand side, otherwise false. + + + + Checks if the left hand side is less than or equal to the right hand side. + + The type of the left hand side. + The type of the right hand side. + The left hand side parameter. + The right hand side parameter. + True if the left hand side is less than or equal to the right hand side, otherwise false. + + + + Checks if the left hand side is greater than the right hand side. + + The type of the left hand side. + The type of the right hand side. + The left hand side parameter. + The right hand side parameter. + True if the left hand side is greater than the right hand side, otherwise false. + + + + Checks if the left hand side is greater than or equal to the right hand side. + + The type of the left hand side. + The type of the right hand side. + The left hand side parameter. + The right hand side parameter. + True if the left hand side is greater than or equal to the right hand side, otherwise false. + + + + Creates a compiled lambda for the given . + + The type of the left hand side of the binary operation. + The type of the right hand side of the binary operation. + The type of the result of the binary operation. + The function that creates a binary expression to compile. + The compiled binary expression. + + + + Global configuration for culture, used as default culture in methods like and + . + + + + + Wrapper for . + + + + + + Acceleration, in physics, is the rate at which the velocity of an object changes over time. An object's acceleration is the net result of any and all forces acting on the object, as described by Newton's Second Law. The SI unit for acceleration is the Meter per second squared (m/s²). Accelerations are vector quantities (they have magnitude and direction) and add according to the parallelogram law. As a vector, the calculated net force is equal to the product of the object's mass (a scalar quantity) and the acceleration. + + + + + Multiply and to get . + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Acceleration, which is MeterPerSecondSquared. All conversions go via this value. + + + + + Represents the largest possible value of Acceleration + + + + + Represents the smallest possible value of Acceleration + + + + + The of this quantity. + + + + + All units of measurement for the Acceleration quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit MeterPerSecondSquared. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Acceleration in CentimetersPerSecondSquared. + + + + + Get Acceleration in DecimetersPerSecondSquared. + + + + + Get Acceleration in FeetPerSecondSquared. + + + + + Get Acceleration in InchesPerSecondSquared. + + + + + Get Acceleration in KilometersPerSecondSquared. + + + + + Get Acceleration in KnotsPerHour. + + + + + Get Acceleration in KnotsPerMinute. + + + + + Get Acceleration in KnotsPerSecond. + + + + + Get Acceleration in MetersPerSecondSquared. + + + + + Get Acceleration in MicrometersPerSecondSquared. + + + + + Get Acceleration in MillimetersPerSecondSquared. + + + + + Get Acceleration in MillistandardGravity. + + + + + Get Acceleration in NanometersPerSecondSquared. + + + + + Get Acceleration in StandardGravity. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Acceleration from CentimetersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from DecimetersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from FeetPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from InchesPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from KilometersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from KnotsPerHour. + + If value is NaN or Infinity. + + + + Get Acceleration from KnotsPerMinute. + + If value is NaN or Infinity. + + + + Get Acceleration from KnotsPerSecond. + + If value is NaN or Infinity. + + + + Get Acceleration from MetersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from MicrometersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from MillimetersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from MillistandardGravity. + + If value is NaN or Infinity. + + + + Get Acceleration from NanometersPerSecondSquared. + + If value is NaN or Infinity. + + + + Get Acceleration from StandardGravity. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Acceleration unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Acceleration within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Acceleration. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Acceleration to another Acceleration with the unit representation . + + A Acceleration with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Mole is the amount of substance containing Avagadro's Number (6.02 x 10 ^ 23) of real particles such as molecules,atoms, ions or radicals. + + + + + The Avogadro constant is the number of constituent particles, usually molecules, + atoms or ions that are contained in the amount of substance given by one mole. It is the proportionality factor that relates + the molar mass of a substance to the mass of a sample, is designated with the symbol NA or L[1], and has the value + 6.02214076e23 mol−1 in the International System of Units (SI). + + + Pending revisions in the base set of SI units necessitated redefinitions of the concepts of chemical quantity. The Avogadro number, + and its definition, was deprecated in favor of the Avogadro constant and its definition. Based on measurements made through the + middle of 2017 which calculated a value for the Avogadro constant of NA = 6.022140758(62)×1023 mol−1, the redefinition of SI units + is planned to take effect on 20 May 2019. The value of the constant will be fixed to exactly 6.02214076×1023 mol−1. + See here: https://www.bipm.org/utils/common/pdf/CGPM-2018/26th-CGPM-Resolutions.pdf + + + + + Calculates the number of particles (atoms or molecules) in this amount of substance using the . + + The number of particles (atoms or molecules) in this amount of substance. + + + Get from and a given . + + + Get from for a given . + + + Get from for a given . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of AmountOfSubstance, which is Mole. All conversions go via this value. + + + + + Represents the largest possible value of AmountOfSubstance + + + + + Represents the smallest possible value of AmountOfSubstance + + + + + The of this quantity. + + + + + All units of measurement for the AmountOfSubstance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Mole. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get AmountOfSubstance in Centimoles. + + + + + Get AmountOfSubstance in CentipoundMoles. + + + + + Get AmountOfSubstance in Decimoles. + + + + + Get AmountOfSubstance in DecipoundMoles. + + + + + Get AmountOfSubstance in Kilomoles. + + + + + Get AmountOfSubstance in KilopoundMoles. + + + + + Get AmountOfSubstance in Megamoles. + + + + + Get AmountOfSubstance in Micromoles. + + + + + Get AmountOfSubstance in MicropoundMoles. + + + + + Get AmountOfSubstance in Millimoles. + + + + + Get AmountOfSubstance in MillipoundMoles. + + + + + Get AmountOfSubstance in Moles. + + + + + Get AmountOfSubstance in Nanomoles. + + + + + Get AmountOfSubstance in NanopoundMoles. + + + + + Get AmountOfSubstance in PoundMoles. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get AmountOfSubstance from Centimoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from CentipoundMoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Decimoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from DecipoundMoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Kilomoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from KilopoundMoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Megamoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Micromoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from MicropoundMoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Millimoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from MillipoundMoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Moles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from Nanomoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from NanopoundMoles. + + If value is NaN or Infinity. + + + + Get AmountOfSubstance from PoundMoles. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + AmountOfSubstance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another AmountOfSubstance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current AmountOfSubstance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this AmountOfSubstance to another AmountOfSubstance with the unit representation . + + A AmountOfSubstance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The strength of a signal expressed in decibels (dB) relative to one volt RMS. + + + + + Initializes a new instance of the struct from the specified electric potential + referenced to one volt RMS. This assumes both the specified electric potential and the one volt reference have the + same + resistance. + + The electric potential referenced to one volt. + + + + Gets an from this . + + + Provides a nicer syntax for converting an amplitude ratio back to a voltage. + + var voltage = voltageRatio.ToElectricPotential(); + + + + + + Converts this to a . + + The input impedance of the load. This is usually 50, 75 or 600 ohms. + http://www.maximintegrated.com/en/app-notes/index.mvp/id/808 + + + + Gets an in decibels (dB) relative to 1 volt RMS from an + . + + The voltage (electric potential) relative to one volt RMS. + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of AmplitudeRatio, which is DecibelVolt. All conversions go via this value. + + + + + Represents the largest possible value of AmplitudeRatio + + + + + Represents the smallest possible value of AmplitudeRatio + + + + + The of this quantity. + + + + + All units of measurement for the AmplitudeRatio quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DecibelVolt. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get AmplitudeRatio in DecibelMicrovolts. + + + + + Get AmplitudeRatio in DecibelMillivolts. + + + + + Get AmplitudeRatio in DecibelsUnloaded. + + + + + Get AmplitudeRatio in DecibelVolts. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get AmplitudeRatio from DecibelMicrovolts. + + If value is NaN or Infinity. + + + + Get AmplitudeRatio from DecibelMillivolts. + + If value is NaN or Infinity. + + + + Get AmplitudeRatio from DecibelsUnloaded. + + If value is NaN or Infinity. + + + + Get AmplitudeRatio from DecibelVolts. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + AmplitudeRatio unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from logarithmic addition of two . + + + Get from logarithmic subtraction of two . + + + Get from logarithmic multiplication of value and . + + + Get from logarithmic multiplication of value and . + + + Get from logarithmic division of by value. + + + Get ratio value from logarithmic division of by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another AmplitudeRatio within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current AmplitudeRatio. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this AmplitudeRatio to another AmplitudeRatio with the unit representation . + + A AmplitudeRatio with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In geometry, an angle is the figure formed by two rays, called the sides of the angle, sharing a common endpoint, called the vertex of the angle. + + + + Get from delta over time delta. + + + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Angle, which is Degree. All conversions go via this value. + + + + + Represents the largest possible value of Angle + + + + + Represents the smallest possible value of Angle + + + + + The of this quantity. + + + + + All units of measurement for the Angle quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Degree. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Angle in Arcminutes. + + + + + Get Angle in Arcseconds. + + + + + Get Angle in Centiradians. + + + + + Get Angle in Deciradians. + + + + + Get Angle in Degrees. + + + + + Get Angle in Gradians. + + + + + Get Angle in Microdegrees. + + + + + Get Angle in Microradians. + + + + + Get Angle in Millidegrees. + + + + + Get Angle in Milliradians. + + + + + Get Angle in Nanodegrees. + + + + + Get Angle in Nanoradians. + + + + + Get Angle in Radians. + + + + + Get Angle in Revolutions. + + + + + Get Angle in Tilt. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Angle from Arcminutes. + + If value is NaN or Infinity. + + + + Get Angle from Arcseconds. + + If value is NaN or Infinity. + + + + Get Angle from Centiradians. + + If value is NaN or Infinity. + + + + Get Angle from Deciradians. + + If value is NaN or Infinity. + + + + Get Angle from Degrees. + + If value is NaN or Infinity. + + + + Get Angle from Gradians. + + If value is NaN or Infinity. + + + + Get Angle from Microdegrees. + + If value is NaN or Infinity. + + + + Get Angle from Microradians. + + If value is NaN or Infinity. + + + + Get Angle from Millidegrees. + + If value is NaN or Infinity. + + + + Get Angle from Milliradians. + + If value is NaN or Infinity. + + + + Get Angle from Nanodegrees. + + If value is NaN or Infinity. + + + + Get Angle from Nanoradians. + + If value is NaN or Infinity. + + + + Get Angle from Radians. + + If value is NaN or Infinity. + + + + Get Angle from Revolutions. + + If value is NaN or Infinity. + + + + Get Angle from Tilt. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Angle unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Angle within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Angle. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Angle to another Angle with the unit representation . + + A Angle with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Area is a quantity that expresses the extent of a two-dimensional surface or shape, or planar lamina, in the plane. Area can be understood as the amount of material with a given thickness that would be necessary to fashion a model of the shape, or the amount of paint necessary to cover the surface with a single coat.[1] It is the two-dimensional analog of the length of a curve (a one-dimensional concept) or the volume of a solid (a three-dimensional concept). + + + + Get circle area from a diameter. + + + Get circle area from a radius. + + + Get from divided by . + + + Get from times . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Area, which is SquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of Area + + + + + Represents the smallest possible value of Area + + + + + The of this quantity. + + + + + All units of measurement for the Area quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit SquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Area in Acres. + + + + + Get Area in Hectares. + + + + + Get Area in SquareCentimeters. + + + + + Get Area in SquareDecimeters. + + + + + Get Area in SquareFeet. + + + + + Get Area in SquareInches. + + + + + Get Area in SquareKilometers. + + + + + Get Area in SquareMeters. + + + + + Get Area in SquareMicrometers. + + + + + Get Area in SquareMiles. + + + + + Get Area in SquareMillimeters. + + + + + Get Area in SquareNauticalMiles. + + + + + Get Area in SquareYards. + + + + + Get Area in UsSurveySquareFeet. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Area from Acres. + + If value is NaN or Infinity. + + + + Get Area from Hectares. + + If value is NaN or Infinity. + + + + Get Area from SquareCentimeters. + + If value is NaN or Infinity. + + + + Get Area from SquareDecimeters. + + If value is NaN or Infinity. + + + + Get Area from SquareFeet. + + If value is NaN or Infinity. + + + + Get Area from SquareInches. + + If value is NaN or Infinity. + + + + Get Area from SquareKilometers. + + If value is NaN or Infinity. + + + + Get Area from SquareMeters. + + If value is NaN or Infinity. + + + + Get Area from SquareMicrometers. + + If value is NaN or Infinity. + + + + Get Area from SquareMiles. + + If value is NaN or Infinity. + + + + Get Area from SquareMillimeters. + + If value is NaN or Infinity. + + + + Get Area from SquareNauticalMiles. + + If value is NaN or Infinity. + + + + Get Area from SquareYards. + + If value is NaN or Infinity. + + + + Get Area from UsSurveySquareFeet. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Area unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Area within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Area. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Area to another Area with the unit representation . + + A Area with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A geometric property of an area that reflects how its points are distributed with regard to an axis. + + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of AreaMomentOfInertia, which is MeterToTheFourth. All conversions go via this value. + + + + + Represents the largest possible value of AreaMomentOfInertia + + + + + Represents the smallest possible value of AreaMomentOfInertia + + + + + The of this quantity. + + + + + All units of measurement for the AreaMomentOfInertia quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit MeterToTheFourth. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get AreaMomentOfInertia in CentimetersToTheFourth. + + + + + Get AreaMomentOfInertia in DecimetersToTheFourth. + + + + + Get AreaMomentOfInertia in FeetToTheFourth. + + + + + Get AreaMomentOfInertia in InchesToTheFourth. + + + + + Get AreaMomentOfInertia in MetersToTheFourth. + + + + + Get AreaMomentOfInertia in MillimetersToTheFourth. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get AreaMomentOfInertia from CentimetersToTheFourth. + + If value is NaN or Infinity. + + + + Get AreaMomentOfInertia from DecimetersToTheFourth. + + If value is NaN or Infinity. + + + + Get AreaMomentOfInertia from FeetToTheFourth. + + If value is NaN or Infinity. + + + + Get AreaMomentOfInertia from InchesToTheFourth. + + If value is NaN or Infinity. + + + + Get AreaMomentOfInertia from MetersToTheFourth. + + If value is NaN or Infinity. + + + + Get AreaMomentOfInertia from MillimetersToTheFourth. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + AreaMomentOfInertia unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another AreaMomentOfInertia within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current AreaMomentOfInertia. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this AreaMomentOfInertia to another AreaMomentOfInertia with the unit representation . + + A AreaMomentOfInertia with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Brake specific fuel consumption (BSFC) is a measure of the fuel efficiency of any prime mover that burns fuel and produces rotational, or shaft, power. It is typically used for comparing the efficiency of internal combustion engines with a shaft output. + + + + Get from times . + + + Get from divided by . + + + Get constant from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of BrakeSpecificFuelConsumption, which is KilogramPerJoule. All conversions go via this value. + + + + + Represents the largest possible value of BrakeSpecificFuelConsumption + + + + + Represents the smallest possible value of BrakeSpecificFuelConsumption + + + + + The of this quantity. + + + + + All units of measurement for the BrakeSpecificFuelConsumption quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerJoule. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get BrakeSpecificFuelConsumption in GramsPerKiloWattHour. + + + + + Get BrakeSpecificFuelConsumption in KilogramsPerJoule. + + + + + Get BrakeSpecificFuelConsumption in PoundsPerMechanicalHorsepowerHour. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get BrakeSpecificFuelConsumption from GramsPerKiloWattHour. + + If value is NaN or Infinity. + + + + Get BrakeSpecificFuelConsumption from KilogramsPerJoule. + + If value is NaN or Infinity. + + + + Get BrakeSpecificFuelConsumption from PoundsPerMechanicalHorsepowerHour. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + BrakeSpecificFuelConsumption unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another BrakeSpecificFuelConsumption within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current BrakeSpecificFuelConsumption. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this BrakeSpecificFuelConsumption to another BrakeSpecificFuelConsumption with the unit representation . + + A BrakeSpecificFuelConsumption with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The density, or more precisely, the volumetric mass density, of a substance is its mass per unit volume. + + + http://en.wikipedia.org/wiki/Density + + + + + Gets from this . + + + + + + + Get from . + + + + + Get from times . + + + Get from times . + + + Get from times . + + + Get times . + + + Get from times . + + + Get from divided by . + + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Density, which is KilogramPerCubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of Density + + + + + Represents the smallest possible value of Density + + + + + The of this quantity. + + + + + All units of measurement for the Density quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerCubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Density in CentigramsPerDeciLiter. + + + + + Get Density in CentigramsPerLiter. + + + + + Get Density in CentigramsPerMilliliter. + + + + + Get Density in DecigramsPerDeciLiter. + + + + + Get Density in DecigramsPerLiter. + + + + + Get Density in DecigramsPerMilliliter. + + + + + Get Density in GramsPerCubicCentimeter. + + + + + Get Density in GramsPerCubicMeter. + + + + + Get Density in GramsPerCubicMillimeter. + + + + + Get Density in GramsPerDeciLiter. + + + + + Get Density in GramsPerLiter. + + + + + Get Density in GramsPerMilliliter. + + + + + Get Density in KilogramsPerCubicCentimeter. + + + + + Get Density in KilogramsPerCubicMeter. + + + + + Get Density in KilogramsPerCubicMillimeter. + + + + + Get Density in KilogramsPerLiter. + + + + + Get Density in KilopoundsPerCubicFoot. + + + + + Get Density in KilopoundsPerCubicInch. + + + + + Get Density in MicrogramsPerCubicMeter. + + + + + Get Density in MicrogramsPerDeciLiter. + + + + + Get Density in MicrogramsPerLiter. + + + + + Get Density in MicrogramsPerMilliliter. + + + + + Get Density in MilligramsPerCubicMeter. + + + + + Get Density in MilligramsPerDeciLiter. + + + + + Get Density in MilligramsPerLiter. + + + + + Get Density in MilligramsPerMilliliter. + + + + + Get Density in NanogramsPerDeciLiter. + + + + + Get Density in NanogramsPerLiter. + + + + + Get Density in NanogramsPerMilliliter. + + + + + Get Density in PicogramsPerDeciLiter. + + + + + Get Density in PicogramsPerLiter. + + + + + Get Density in PicogramsPerMilliliter. + + + + + Get Density in PoundsPerCubicFoot. + + + + + Get Density in PoundsPerCubicInch. + + + + + Get Density in PoundsPerImperialGallon. + + + + + Get Density in PoundsPerUSGallon. + + + + + Get Density in SlugsPerCubicFoot. + + + + + Get Density in TonnesPerCubicCentimeter. + + + + + Get Density in TonnesPerCubicMeter. + + + + + Get Density in TonnesPerCubicMillimeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Density from CentigramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from CentigramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from CentigramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from DecigramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from DecigramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from DecigramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from GramsPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get Density from GramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get Density from GramsPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get Density from GramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from GramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from GramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from KilogramsPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get Density from KilogramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get Density from KilogramsPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get Density from KilogramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from KilopoundsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get Density from KilopoundsPerCubicInch. + + If value is NaN or Infinity. + + + + Get Density from MicrogramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get Density from MicrogramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from MicrogramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from MicrogramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from MilligramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get Density from MilligramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from MilligramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from MilligramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from NanogramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from NanogramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from NanogramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from PicogramsPerDeciLiter. + + If value is NaN or Infinity. + + + + Get Density from PicogramsPerLiter. + + If value is NaN or Infinity. + + + + Get Density from PicogramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get Density from PoundsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get Density from PoundsPerCubicInch. + + If value is NaN or Infinity. + + + + Get Density from PoundsPerImperialGallon. + + If value is NaN or Infinity. + + + + Get Density from PoundsPerUSGallon. + + If value is NaN or Infinity. + + + + Get Density from SlugsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get Density from TonnesPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get Density from TonnesPerCubicMeter. + + If value is NaN or Infinity. + + + + Get Density from TonnesPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Density unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Density within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Density. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Density to another Density with the unit representation . + + A Density with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Time is a dimension in which events can be ordered from the past through the present into the future, and also the measure of durations of events and the intervals between them. + + + + + Convert a Duration to a TimeSpan. + + Throws if the TimeSpan can't represent the Duration exactly + The TimeSpan with the same time as the duration + + + Get from plus . + + + Get from minus . + + + Explicitly cast to . + + + Explicitly cast to . + + + True if is less than . + + + True if is greater than . + + + True if is less than or equal to . + + + True if is greater than or equal to . + + + True if is less than . + + + True if is greater than . + + + True if is less than or equal to . + + + True if is greater than or equal to . + + + Get from times . + + + Calculate from multiplied by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Duration, which is Second. All conversions go via this value. + + + + + Represents the largest possible value of Duration + + + + + Represents the smallest possible value of Duration + + + + + The of this quantity. + + + + + All units of measurement for the Duration quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Second. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Duration in Days. + + + + + Get Duration in Hours. + + + + + Get Duration in Microseconds. + + + + + Get Duration in Milliseconds. + + + + + Get Duration in Minutes. + + + + + Get Duration in Months30. + + + + + Get Duration in Nanoseconds. + + + + + Get Duration in Seconds. + + + + + Get Duration in Weeks. + + + + + Get Duration in Years365. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Duration from Days. + + If value is NaN or Infinity. + + + + Get Duration from Hours. + + If value is NaN or Infinity. + + + + Get Duration from Microseconds. + + If value is NaN or Infinity. + + + + Get Duration from Milliseconds. + + If value is NaN or Infinity. + + + + Get Duration from Minutes. + + If value is NaN or Infinity. + + + + Get Duration from Months30. + + If value is NaN or Infinity. + + + + Get Duration from Nanoseconds. + + If value is NaN or Infinity. + + + + Get Duration from Seconds. + + If value is NaN or Infinity. + + + + Get Duration from Weeks. + + If value is NaN or Infinity. + + + + Get Duration from Years365. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Duration unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Duration within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Duration. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Duration to another Duration with the unit representation . + + A Duration with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The dynamic (shear) viscosity of a fluid expresses its resistance to shearing flows, where adjacent layers move parallel to each other with different speeds + + + https://en.wikipedia.org/wiki/Viscosity#Dynamic_.28shear.29_viscosity + + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of DynamicViscosity, which is NewtonSecondPerMeterSquared. All conversions go via this value. + + + + + Represents the largest possible value of DynamicViscosity + + + + + Represents the smallest possible value of DynamicViscosity + + + + + The of this quantity. + + + + + All units of measurement for the DynamicViscosity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonSecondPerMeterSquared. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get DynamicViscosity in Centipoise. + + + + + Get DynamicViscosity in MicropascalSeconds. + + + + + Get DynamicViscosity in MillipascalSeconds. + + + + + Get DynamicViscosity in NewtonSecondsPerMeterSquared. + + + + + Get DynamicViscosity in PascalSeconds. + + + + + Get DynamicViscosity in Poise. + + + + + Get DynamicViscosity in PoundsForceSecondPerSquareFoot. + + + + + Get DynamicViscosity in PoundsForceSecondPerSquareInch. + + + + + Get DynamicViscosity in PoundsPerFootSecond. + + + + + Get DynamicViscosity in Reyns. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get DynamicViscosity from Centipoise. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from MicropascalSeconds. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from MillipascalSeconds. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from NewtonSecondsPerMeterSquared. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from PascalSeconds. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from Poise. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from PoundsForceSecondPerSquareFoot. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from PoundsForceSecondPerSquareInch. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from PoundsPerFootSecond. + + If value is NaN or Infinity. + + + + Get DynamicViscosity from Reyns. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + DynamicViscosity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another DynamicViscosity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current DynamicViscosity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this DynamicViscosity to another DynamicViscosity with the unit representation . + + A DynamicViscosity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Electric charge is the physical property of matter that causes it to experience a force when placed in an electromagnetic field. + + + https://en.wikipedia.org/wiki/Electric_charge + + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricCharge, which is Coulomb. All conversions go via this value. + + + + + Represents the largest possible value of ElectricCharge + + + + + Represents the smallest possible value of ElectricCharge + + + + + The of this quantity. + + + + + All units of measurement for the ElectricCharge quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Coulomb. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricCharge in AmpereHours. + + + + + Get ElectricCharge in Coulombs. + + + + + Get ElectricCharge in KiloampereHours. + + + + + Get ElectricCharge in MegaampereHours. + + + + + Get ElectricCharge in MilliampereHours. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricCharge from AmpereHours. + + If value is NaN or Infinity. + + + + Get ElectricCharge from Coulombs. + + If value is NaN or Infinity. + + + + Get ElectricCharge from KiloampereHours. + + If value is NaN or Infinity. + + + + Get ElectricCharge from MegaampereHours. + + If value is NaN or Infinity. + + + + Get ElectricCharge from MilliampereHours. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricCharge unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricCharge within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricCharge. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricCharge to another ElectricCharge with the unit representation . + + A ElectricCharge with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + 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. + + + + Get from multiplied by . + Ohm's law implementation + + + Calculate from multiplied by . + Electric power is defined as P = U * I. + + + Calculate from multiplied by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricCurrent, which is Ampere. All conversions go via this value. + + + + + Represents the largest possible value of ElectricCurrent + + + + + Represents the smallest possible value of ElectricCurrent + + + + + The of this quantity. + + + + + All units of measurement for the ElectricCurrent quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Ampere. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricCurrent in Amperes. + + + + + Get ElectricCurrent in Centiamperes. + + + + + Get ElectricCurrent in Kiloamperes. + + + + + Get ElectricCurrent in Megaamperes. + + + + + Get ElectricCurrent in Microamperes. + + + + + Get ElectricCurrent in Milliamperes. + + + + + Get ElectricCurrent in Nanoamperes. + + + + + Get ElectricCurrent in Picoamperes. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricCurrent from Amperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Centiamperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Kiloamperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Megaamperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Microamperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Milliamperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Nanoamperes. + + If value is NaN or Infinity. + + + + Get ElectricCurrent from Picoamperes. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricCurrent unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricCurrent within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricCurrent. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricCurrent to another ElectricCurrent with the unit representation . + + A ElectricCurrent with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In classical electromagnetism, the electric potential (a scalar quantity denoted by Φ, ΦE or V and also called the electric field potential or the electrostatic potential) at a point is the amount of electric potential energy that a unitary point charge would have when located at that point. + + + + + Gets an in decibels (dB) relative to 1 volt RMS from this . + + + Provides a nicer syntax for converting a voltage to an amplitude ratio (relative to 1 volt RMS). + + var voltageRatio = voltage.ToAmplitudeRatio(); + + + + + Get from divided by . + Ohm's law implementation + + + Get from divided by . + Ohm's law implementation + + + Calculate from multiplied by . + Electric power is defined as P = U * I. + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricPotential, which is Volt. All conversions go via this value. + + + + + Represents the largest possible value of ElectricPotential + + + + + Represents the smallest possible value of ElectricPotential + + + + + The of this quantity. + + + + + All units of measurement for the ElectricPotential quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Volt. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricPotential in Kilovolts. + + + + + Get ElectricPotential in Megavolts. + + + + + Get ElectricPotential in Microvolts. + + + + + Get ElectricPotential in Millivolts. + + + + + Get ElectricPotential in Volts. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricPotential from Kilovolts. + + If value is NaN or Infinity. + + + + Get ElectricPotential from Megavolts. + + If value is NaN or Infinity. + + + + Get ElectricPotential from Microvolts. + + If value is NaN or Infinity. + + + + Get ElectricPotential from Millivolts. + + If value is NaN or Infinity. + + + + Get ElectricPotential from Volts. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricPotential unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricPotential within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricPotential. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricPotential to another ElectricPotential with the unit representation . + + A ElectricPotential with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The electrical resistance of an electrical conductor is the opposition to the passage of an electric current through that conductor. + + + + Get from multiplied by . + Ohm's law implementation + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricResistance, which is Ohm. All conversions go via this value. + + + + + Represents the largest possible value of ElectricResistance + + + + + Represents the smallest possible value of ElectricResistance + + + + + The of this quantity. + + + + + All units of measurement for the ElectricResistance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Ohm. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricResistance in Gigaohms. + + + + + Get ElectricResistance in Kiloohms. + + + + + Get ElectricResistance in Megaohms. + + + + + Get ElectricResistance in Microohms. + + + + + Get ElectricResistance in Milliohms. + + + + + Get ElectricResistance in Ohms. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricResistance from Gigaohms. + + If value is NaN or Infinity. + + + + Get ElectricResistance from Kiloohms. + + If value is NaN or Infinity. + + + + Get ElectricResistance from Megaohms. + + If value is NaN or Infinity. + + + + Get ElectricResistance from Microohms. + + If value is NaN or Infinity. + + + + Get ElectricResistance from Milliohms. + + If value is NaN or Infinity. + + + + Get ElectricResistance from Ohms. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricResistance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricResistance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricResistance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricResistance to another ElectricResistance with the unit representation . + + A ElectricResistance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In physics, a force is any influence that causes an object to undergo a certain change, either concerning its movement, direction, or geometrical construction. In other words, a force can cause an object with mass to change its velocity (which includes to begin moving from a state of rest), i.e., to accelerate, or a flexible object to deform, or both. Force can also be described by intuitive concepts such as a push or a pull. A force has both magnitude and direction, making it a vector quantity. It is measured in the SI unit of newtons and represented by the symbol F. + + + + Get from divided by . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Force, which is Newton. All conversions go via this value. + + + + + Represents the largest possible value of Force + + + + + Represents the smallest possible value of Force + + + + + The of this quantity. + + + + + All units of measurement for the Force quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Newton. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Force in Decanewtons. + + + + + Get Force in Dyne. + + + + + Get Force in KilogramsForce. + + + + + Get Force in Kilonewtons. + + + + + Get Force in KiloPonds. + + + + + Get Force in KilopoundsForce. + + + + + Get Force in Meganewtons. + + + + + Get Force in Micronewtons. + + + + + Get Force in Millinewtons. + + + + + Get Force in Newtons. + + + + + Get Force in OunceForce. + + + + + Get Force in Poundals. + + + + + Get Force in PoundsForce. + + + + + Get Force in ShortTonsForce. + + + + + Get Force in TonnesForce. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Force from Decanewtons. + + If value is NaN or Infinity. + + + + Get Force from Dyne. + + If value is NaN or Infinity. + + + + Get Force from KilogramsForce. + + If value is NaN or Infinity. + + + + Get Force from Kilonewtons. + + If value is NaN or Infinity. + + + + Get Force from KiloPonds. + + If value is NaN or Infinity. + + + + Get Force from KilopoundsForce. + + If value is NaN or Infinity. + + + + Get Force from Meganewtons. + + If value is NaN or Infinity. + + + + Get Force from Micronewtons. + + If value is NaN or Infinity. + + + + Get Force from Millinewtons. + + If value is NaN or Infinity. + + + + Get Force from Newtons. + + If value is NaN or Infinity. + + + + Get Force from OunceForce. + + If value is NaN or Infinity. + + + + Get Force from Poundals. + + If value is NaN or Infinity. + + + + Get Force from PoundsForce. + + If value is NaN or Infinity. + + + + Get Force from ShortTonsForce. + + If value is NaN or Infinity. + + + + Get Force from TonnesForce. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Force unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Force within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Force. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Force to another Force with the unit representation . + + A Force with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The magnitude of force per unit length. + + + + Get from multiplied by . + + + Get from divided by . + + + Get from divided by . + + + Get from multiplied by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ForcePerLength, which is NewtonPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of ForcePerLength + + + + + Represents the smallest possible value of ForcePerLength + + + + + The of this quantity. + + + + + All units of measurement for the ForcePerLength quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ForcePerLength in CentinewtonsPerCentimeter. + + + + + Get ForcePerLength in CentinewtonsPerMeter. + + + + + Get ForcePerLength in CentinewtonsPerMillimeter. + + + + + Get ForcePerLength in DecanewtonsPerCentimeter. + + + + + Get ForcePerLength in DecanewtonsPerMeter. + + + + + Get ForcePerLength in DecanewtonsPerMillimeter. + + + + + Get ForcePerLength in DecinewtonsPerCentimeter. + + + + + Get ForcePerLength in DecinewtonsPerMeter. + + + + + Get ForcePerLength in DecinewtonsPerMillimeter. + + + + + Get ForcePerLength in KilogramsForcePerCentimeter. + + + + + Get ForcePerLength in KilogramsForcePerMeter. + + + + + Get ForcePerLength in KilogramsForcePerMillimeter. + + + + + Get ForcePerLength in KilonewtonsPerCentimeter. + + + + + Get ForcePerLength in KilonewtonsPerMeter. + + + + + Get ForcePerLength in KilonewtonsPerMillimeter. + + + + + Get ForcePerLength in KilopoundsForcePerFoot. + + + + + Get ForcePerLength in KilopoundsForcePerInch. + + + + + Get ForcePerLength in MeganewtonsPerCentimeter. + + + + + Get ForcePerLength in MeganewtonsPerMeter. + + + + + Get ForcePerLength in MeganewtonsPerMillimeter. + + + + + Get ForcePerLength in MicronewtonsPerCentimeter. + + + + + Get ForcePerLength in MicronewtonsPerMeter. + + + + + Get ForcePerLength in MicronewtonsPerMillimeter. + + + + + Get ForcePerLength in MillinewtonsPerCentimeter. + + + + + Get ForcePerLength in MillinewtonsPerMeter. + + + + + Get ForcePerLength in MillinewtonsPerMillimeter. + + + + + Get ForcePerLength in NanonewtonsPerCentimeter. + + + + + Get ForcePerLength in NanonewtonsPerMeter. + + + + + Get ForcePerLength in NanonewtonsPerMillimeter. + + + + + Get ForcePerLength in NewtonsPerCentimeter. + + + + + Get ForcePerLength in NewtonsPerMeter. + + + + + Get ForcePerLength in NewtonsPerMillimeter. + + + + + Get ForcePerLength in PoundsForcePerFoot. + + + + + Get ForcePerLength in PoundsForcePerInch. + + + + + Get ForcePerLength in PoundsForcePerYard. + + + + + Get ForcePerLength in TonnesForcePerCentimeter. + + + + + Get ForcePerLength in TonnesForcePerMeter. + + + + + Get ForcePerLength in TonnesForcePerMillimeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ForcePerLength from CentinewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from CentinewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from CentinewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from DecanewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from DecanewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from DecanewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from DecinewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from DecinewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from DecinewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilogramsForcePerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilogramsForcePerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilogramsForcePerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilonewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilonewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilonewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilopoundsForcePerFoot. + + If value is NaN or Infinity. + + + + Get ForcePerLength from KilopoundsForcePerInch. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MeganewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MeganewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MeganewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MicronewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MicronewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MicronewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MillinewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MillinewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from MillinewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from NanonewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from NanonewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from NanonewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from NewtonsPerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from NewtonsPerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from NewtonsPerMillimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from PoundsForcePerFoot. + + If value is NaN or Infinity. + + + + Get ForcePerLength from PoundsForcePerInch. + + If value is NaN or Infinity. + + + + Get ForcePerLength from PoundsForcePerYard. + + If value is NaN or Infinity. + + + + Get ForcePerLength from TonnesForcePerCentimeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from TonnesForcePerMeter. + + If value is NaN or Infinity. + + + + Get ForcePerLength from TonnesForcePerMillimeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ForcePerLength unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ForcePerLength within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ForcePerLength. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ForcePerLength to another ForcePerLength with the unit representation . + + A ForcePerLength with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Heat flux is the flow of energy per unit of area per unit of time + + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of HeatFlux, which is WattPerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of HeatFlux + + + + + Represents the smallest possible value of HeatFlux + + + + + The of this quantity. + + + + + All units of measurement for the HeatFlux quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit WattPerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get HeatFlux in BtusPerHourSquareFoot. + + + + + Get HeatFlux in BtusPerMinuteSquareFoot. + + + + + Get HeatFlux in BtusPerSecondSquareFoot. + + + + + Get HeatFlux in BtusPerSecondSquareInch. + + + + + Get HeatFlux in CaloriesPerSecondSquareCentimeter. + + + + + Get HeatFlux in CentiwattsPerSquareMeter. + + + + + Get HeatFlux in DeciwattsPerSquareMeter. + + + + + Get HeatFlux in KilocaloriesPerHourSquareMeter. + + + + + Get HeatFlux in KilocaloriesPerSecondSquareCentimeter. + + + + + Get HeatFlux in KilowattsPerSquareMeter. + + + + + Get HeatFlux in MicrowattsPerSquareMeter. + + + + + Get HeatFlux in MilliwattsPerSquareMeter. + + + + + Get HeatFlux in NanowattsPerSquareMeter. + + + + + Get HeatFlux in PoundsForcePerFootSecond. + + + + + Get HeatFlux in PoundsPerSecondCubed. + + + + + Get HeatFlux in WattsPerSquareFoot. + + + + + Get HeatFlux in WattsPerSquareInch. + + + + + Get HeatFlux in WattsPerSquareMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get HeatFlux from BtusPerHourSquareFoot. + + If value is NaN or Infinity. + + + + Get HeatFlux from BtusPerMinuteSquareFoot. + + If value is NaN or Infinity. + + + + Get HeatFlux from BtusPerSecondSquareFoot. + + If value is NaN or Infinity. + + + + Get HeatFlux from BtusPerSecondSquareInch. + + If value is NaN or Infinity. + + + + Get HeatFlux from CaloriesPerSecondSquareCentimeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from CentiwattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from DeciwattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from KilocaloriesPerHourSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from KilocaloriesPerSecondSquareCentimeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from KilowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from MicrowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from MilliwattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from NanowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get HeatFlux from PoundsForcePerFootSecond. + + If value is NaN or Infinity. + + + + Get HeatFlux from PoundsPerSecondCubed. + + If value is NaN or Infinity. + + + + Get HeatFlux from WattsPerSquareFoot. + + If value is NaN or Infinity. + + + + Get HeatFlux from WattsPerSquareInch. + + If value is NaN or Infinity. + + + + Get HeatFlux from WattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + HeatFlux unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another HeatFlux within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current HeatFlux. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this HeatFlux to another HeatFlux with the unit representation . + + A HeatFlux with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The viscosity of a fluid is a measure of its resistance to gradual deformation by shear stress or tensile stress. + + + http://en.wikipedia.org/wiki/Viscosity + + + + Get from divided by . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of KinematicViscosity, which is SquareMeterPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of KinematicViscosity + + + + + Represents the smallest possible value of KinematicViscosity + + + + + The of this quantity. + + + + + All units of measurement for the KinematicViscosity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit SquareMeterPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get KinematicViscosity in Centistokes. + + + + + Get KinematicViscosity in Decistokes. + + + + + Get KinematicViscosity in Kilostokes. + + + + + Get KinematicViscosity in Microstokes. + + + + + Get KinematicViscosity in Millistokes. + + + + + Get KinematicViscosity in Nanostokes. + + + + + Get KinematicViscosity in SquareMetersPerSecond. + + + + + Get KinematicViscosity in Stokes. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get KinematicViscosity from Centistokes. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from Decistokes. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from Kilostokes. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from Microstokes. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from Millistokes. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from Nanostokes. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from SquareMetersPerSecond. + + If value is NaN or Infinity. + + + + Get KinematicViscosity from Stokes. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + KinematicViscosity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another KinematicViscosity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current KinematicViscosity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this KinematicViscosity to another KinematicViscosity with the unit representation . + + A KinematicViscosity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Lapse rate is the rate at which Earth's atmospheric temperature decreases with an increase in altitude, or increases with the decrease in altitude. + + + + Get from divided by . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of LapseRate, which is DegreeCelsiusPerKilometer. All conversions go via this value. + + + + + Represents the largest possible value of LapseRate + + + + + Represents the smallest possible value of LapseRate + + + + + The of this quantity. + + + + + All units of measurement for the LapseRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DegreeCelsiusPerKilometer. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get LapseRate in DegreesCelciusPerKilometer. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get LapseRate from DegreesCelciusPerKilometer. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + LapseRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another LapseRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current LapseRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this LapseRate to another LapseRate with the unit representation . + + A LapseRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Many different units of length have been used around the world. The main units in modern use are U.S. customary units in the United States and the Metric system elsewhere. British Imperial units are still used for some purposes in the United Kingdom and some other countries. The metric system is sub-divided into SI and non-SI units. + + + + + Converts the length to a customary feet/inches combination. + + + + + Get length from combination of feet and inches. + + + + + Special parsing of feet/inches strings, commonly used. + 2 feet 4 inches is sometimes denoted as 2′−4″, 2′ 4″, 2′4″, 2 ft 4 in. + The apostrophe can be ′ and '. + The double prime can be ″ and ". + https://en.wikipedia.org/wiki/Foot_(unit) + + + Optionally specify the culture format numbers and localize unit abbreviations. Defaults to thread's culture. + Parsed length. + + + + Special parsing of feet/inches strings, commonly used. + 2 feet 4 inches is sometimes denoted as 2′−4″, 2′ 4″, 2′4″, 2 ft 4 in. + The apostrophe can be ′ and '. + The double prime can be ″ and ". + https://en.wikipedia.org/wiki/Foot_(unit) + + + Parsed length. + Optionally specify the culture format numbers and localize unit abbreviations. Defaults to thread's culture. + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Length, which is Meter. All conversions go via this value. + + + + + Represents the largest possible value of Length + + + + + Represents the smallest possible value of Length + + + + + The of this quantity. + + + + + All units of measurement for the Length quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Meter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Length in AstronomicalUnits. + + + + + Get Length in Centimeters. + + + + + Get Length in Chains. + + + + + Get Length in Decimeters. + + + + + Get Length in DtpPicas. + + + + + Get Length in DtpPoints. + + + + + Get Length in Fathoms. + + + + + Get Length in Feet. + + + + + Get Length in Hands. + + + + + Get Length in Hectometers. + + + + + Get Length in Inches. + + + + + Get Length in KilolightYears. + + + + + Get Length in Kilometers. + + + + + Get Length in Kiloparsecs. + + + + + Get Length in LightYears. + + + + + Get Length in MegalightYears. + + + + + Get Length in Megaparsecs. + + + + + Get Length in Meters. + + + + + Get Length in Microinches. + + + + + Get Length in Micrometers. + + + + + Get Length in Mils. + + + + + Get Length in Miles. + + + + + Get Length in Millimeters. + + + + + Get Length in Nanometers. + + + + + Get Length in NauticalMiles. + + + + + Get Length in Parsecs. + + + + + Get Length in PrinterPicas. + + + + + Get Length in PrinterPoints. + + + + + Get Length in Shackles. + + + + + Get Length in SolarRadiuses. + + + + + Get Length in Twips. + + + + + Get Length in UsSurveyFeet. + + + + + Get Length in Yards. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Length from AstronomicalUnits. + + If value is NaN or Infinity. + + + + Get Length from Centimeters. + + If value is NaN or Infinity. + + + + Get Length from Chains. + + If value is NaN or Infinity. + + + + Get Length from Decimeters. + + If value is NaN or Infinity. + + + + Get Length from DtpPicas. + + If value is NaN or Infinity. + + + + Get Length from DtpPoints. + + If value is NaN or Infinity. + + + + Get Length from Fathoms. + + If value is NaN or Infinity. + + + + Get Length from Feet. + + If value is NaN or Infinity. + + + + Get Length from Hands. + + If value is NaN or Infinity. + + + + Get Length from Hectometers. + + If value is NaN or Infinity. + + + + Get Length from Inches. + + If value is NaN or Infinity. + + + + Get Length from KilolightYears. + + If value is NaN or Infinity. + + + + Get Length from Kilometers. + + If value is NaN or Infinity. + + + + Get Length from Kiloparsecs. + + If value is NaN or Infinity. + + + + Get Length from LightYears. + + If value is NaN or Infinity. + + + + Get Length from MegalightYears. + + If value is NaN or Infinity. + + + + Get Length from Megaparsecs. + + If value is NaN or Infinity. + + + + Get Length from Meters. + + If value is NaN or Infinity. + + + + Get Length from Microinches. + + If value is NaN or Infinity. + + + + Get Length from Micrometers. + + If value is NaN or Infinity. + + + + Get Length from Mils. + + If value is NaN or Infinity. + + + + Get Length from Miles. + + If value is NaN or Infinity. + + + + Get Length from Millimeters. + + If value is NaN or Infinity. + + + + Get Length from Nanometers. + + If value is NaN or Infinity. + + + + Get Length from NauticalMiles. + + If value is NaN or Infinity. + + + + Get Length from Parsecs. + + If value is NaN or Infinity. + + + + Get Length from PrinterPicas. + + If value is NaN or Infinity. + + + + Get Length from PrinterPoints. + + If value is NaN or Infinity. + + + + Get Length from Shackles. + + If value is NaN or Infinity. + + + + Get Length from SolarRadiuses. + + If value is NaN or Infinity. + + + + Get Length from Twips. + + If value is NaN or Infinity. + + + + Get Length from UsSurveyFeet. + + If value is NaN or Infinity. + + + + Get Length from Yards. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Length unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Length within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Length. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Length to another Length with the unit representation . + + A Length with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + Representation of feet and inches, used to preserve the original values when constructing by + and later output them unaltered with . + + + + + Construct from feet and inches. + + + + + The feet value it was constructed with. + + + + + The inches value it was constructed with. + + + + + + + + Outputs feet and inches on the format: {feetValue} {feetUnit} {inchesValue} {inchesUnit} + + Length.FromFeetInches(3,2).FeetInches.ToString() outputs: "3 ft 2 in" + + Optional culture to format number and localize unit abbreviations. + If null, defaults to . + + + + + + Level is the logarithm of the ratio of a quantity Q to a reference value of that quantity, Q₀, expressed in dimensionless units. + + + + + Initializes a new instance of the logarithmic struct which is the ratio of a quantity Q to a + reference value of that quantity Q0. + + The quantity. + The reference value that is compared to. + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Level, which is Decibel. All conversions go via this value. + + + + + Represents the largest possible value of Level + + + + + Represents the smallest possible value of Level + + + + + The of this quantity. + + + + + All units of measurement for the Level quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Decibel. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Level in Decibels. + + + + + Get Level in Nepers. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Level from Decibels. + + If value is NaN or Infinity. + + + + Get Level from Nepers. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Level unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from logarithmic addition of two . + + + Get from logarithmic subtraction of two . + + + Get from logarithmic multiplication of value and . + + + Get from logarithmic multiplication of value and . + + + Get from logarithmic division of by value. + + + Get ratio value from logarithmic division of by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Level within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Level. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Level to another Level with the unit representation . + + A Level with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The Linear Density, or more precisely, the linear mass density, of a substance is its mass per unit length. The term linear density is most often used when describing the characteristics of one-dimensional objects, although linear density can also be used to describe the density of a three-dimensional quantity along one particular dimension. + + + http://en.wikipedia.org/wiki/Linear_density + + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of LinearDensity, which is KilogramPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of LinearDensity + + + + + Represents the smallest possible value of LinearDensity + + + + + The of this quantity. + + + + + All units of measurement for the LinearDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get LinearDensity in GramsPerCentimeter. + + + + + Get LinearDensity in GramsPerMeter. + + + + + Get LinearDensity in GramsPerMillimeter. + + + + + Get LinearDensity in KilogramsPerCentimeter. + + + + + Get LinearDensity in KilogramsPerMeter. + + + + + Get LinearDensity in KilogramsPerMillimeter. + + + + + Get LinearDensity in MicrogramsPerCentimeter. + + + + + Get LinearDensity in MicrogramsPerMeter. + + + + + Get LinearDensity in MicrogramsPerMillimeter. + + + + + Get LinearDensity in MilligramsPerCentimeter. + + + + + Get LinearDensity in MilligramsPerMeter. + + + + + Get LinearDensity in MilligramsPerMillimeter. + + + + + Get LinearDensity in PoundsPerFoot. + + + + + Get LinearDensity in PoundsPerInch. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get LinearDensity from GramsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from GramsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from GramsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from KilogramsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from KilogramsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from KilogramsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from MicrogramsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from MicrogramsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from MicrogramsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from MilligramsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from MilligramsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from MilligramsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearDensity from PoundsPerFoot. + + If value is NaN or Infinity. + + + + Get LinearDensity from PoundsPerInch. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + LinearDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another LinearDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current LinearDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this LinearDensity to another LinearDensity with the unit representation . + + A LinearDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In physics, mass (from Greek μᾶζα "barley cake, lump [of dough]") is a property of a physical system or body, giving rise to the phenomena of the body's resistance to being accelerated by a force and the strength of its mutual gravitational attraction with other bodies. Instruments such as mass balances or scales use those phenomena to measure mass. The SI unit of mass is the kilogram (kg). + + + + Get from of gravity. + + + + StonePounds related code makes it easier to work with Stone/Pound combination, which are customarily used in the UK + to express body weight. For example, someone weighs 11 stone 4 pounds (about 72 kilograms). + + + + + Converts the mass to a customary stone/pounds combination. + + + + + Get Mass from combination of stone and pounds. + + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Mass, which is Kilogram. All conversions go via this value. + + + + + Represents the largest possible value of Mass + + + + + Represents the smallest possible value of Mass + + + + + The of this quantity. + + + + + All units of measurement for the Mass quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Kilogram. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Mass in Centigrams. + + + + + Get Mass in Decagrams. + + + + + Get Mass in Decigrams. + + + + + Get Mass in EarthMasses. + + + + + Get Mass in Grains. + + + + + Get Mass in Grams. + + + + + Get Mass in Hectograms. + + + + + Get Mass in Kilograms. + + + + + Get Mass in Kilopounds. + + + + + Get Mass in Kilotonnes. + + + + + Get Mass in LongHundredweight. + + + + + Get Mass in LongTons. + + + + + Get Mass in Megapounds. + + + + + Get Mass in Megatonnes. + + + + + Get Mass in Micrograms. + + + + + Get Mass in Milligrams. + + + + + Get Mass in Nanograms. + + + + + Get Mass in Ounces. + + + + + Get Mass in Pounds. + + + + + Get Mass in ShortHundredweight. + + + + + Get Mass in ShortTons. + + + + + Get Mass in Slugs. + + + + + Get Mass in SolarMasses. + + + + + Get Mass in Stone. + + + + + Get Mass in Tonnes. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Mass from Centigrams. + + If value is NaN or Infinity. + + + + Get Mass from Decagrams. + + If value is NaN or Infinity. + + + + Get Mass from Decigrams. + + If value is NaN or Infinity. + + + + Get Mass from EarthMasses. + + If value is NaN or Infinity. + + + + Get Mass from Grains. + + If value is NaN or Infinity. + + + + Get Mass from Grams. + + If value is NaN or Infinity. + + + + Get Mass from Hectograms. + + If value is NaN or Infinity. + + + + Get Mass from Kilograms. + + If value is NaN or Infinity. + + + + Get Mass from Kilopounds. + + If value is NaN or Infinity. + + + + Get Mass from Kilotonnes. + + If value is NaN or Infinity. + + + + Get Mass from LongHundredweight. + + If value is NaN or Infinity. + + + + Get Mass from LongTons. + + If value is NaN or Infinity. + + + + Get Mass from Megapounds. + + If value is NaN or Infinity. + + + + Get Mass from Megatonnes. + + If value is NaN or Infinity. + + + + Get Mass from Micrograms. + + If value is NaN or Infinity. + + + + Get Mass from Milligrams. + + If value is NaN or Infinity. + + + + Get Mass from Nanograms. + + If value is NaN or Infinity. + + + + Get Mass from Ounces. + + If value is NaN or Infinity. + + + + Get Mass from Pounds. + + If value is NaN or Infinity. + + + + Get Mass from ShortHundredweight. + + If value is NaN or Infinity. + + + + Get Mass from ShortTons. + + If value is NaN or Infinity. + + + + Get Mass from Slugs. + + If value is NaN or Infinity. + + + + Get Mass from SolarMasses. + + If value is NaN or Infinity. + + + + Get Mass from Stone. + + If value is NaN or Infinity. + + + + Get Mass from Tonnes. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Mass unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Mass within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Mass. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Mass to another Mass with the unit representation . + + A Mass with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + Representation of stone and pounds, used to preserve the original values when constructing by + and later output them unaltered with . + + + + + Construct from stone and pounds. + + + + + The stone value it was created with. + + + + + The pounds value it was created with. + + + + + + + + Outputs stone and pounds on the format: {stoneValue} {stoneUnit} {poundsValue} {poundsUnit} + + Mass.FromStonePounds(3,2).StonePounds.ToString() outputs: "3 st 2 lb" + + Optional culture to format number and localize unit abbreviations. + If null, defaults to . + + + + + + In chemistry, the mass concentration ρi (or γi) is defined as the mass of a constituent mi divided by the volume of the mixture V + + + https://en.wikipedia.org/wiki/Mass_concentration_(chemistry) + + + + + Get from this using the known component . + + + + + + Get from this using the known component . + + + + + + + Get from . + + + + + Get from and component . + + + + Get from times . + + + Get from times . + + + Get from divided by the component's . + + + Get from divided by the component's . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MassConcentration, which is KilogramPerCubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of MassConcentration + + + + + Represents the smallest possible value of MassConcentration + + + + + The of this quantity. + + + + + All units of measurement for the MassConcentration quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerCubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MassConcentration in CentigramsPerDeciliter. + + + + + Get MassConcentration in CentigramsPerLiter. + + + + + Get MassConcentration in CentigramsPerMicroliter. + + + + + Get MassConcentration in CentigramsPerMilliliter. + + + + + Get MassConcentration in DecigramsPerDeciliter. + + + + + Get MassConcentration in DecigramsPerLiter. + + + + + Get MassConcentration in DecigramsPerMicroliter. + + + + + Get MassConcentration in DecigramsPerMilliliter. + + + + + Get MassConcentration in GramsPerCubicCentimeter. + + + + + Get MassConcentration in GramsPerCubicMeter. + + + + + Get MassConcentration in GramsPerCubicMillimeter. + + + + + Get MassConcentration in GramsPerDeciliter. + + + + + Get MassConcentration in GramsPerLiter. + + + + + Get MassConcentration in GramsPerMicroliter. + + + + + Get MassConcentration in GramsPerMilliliter. + + + + + Get MassConcentration in KilogramsPerCubicCentimeter. + + + + + Get MassConcentration in KilogramsPerCubicMeter. + + + + + Get MassConcentration in KilogramsPerCubicMillimeter. + + + + + Get MassConcentration in KilogramsPerLiter. + + + + + Get MassConcentration in KilopoundsPerCubicFoot. + + + + + Get MassConcentration in KilopoundsPerCubicInch. + + + + + Get MassConcentration in MicrogramsPerCubicMeter. + + + + + Get MassConcentration in MicrogramsPerDeciliter. + + + + + Get MassConcentration in MicrogramsPerLiter. + + + + + Get MassConcentration in MicrogramsPerMicroliter. + + + + + Get MassConcentration in MicrogramsPerMilliliter. + + + + + Get MassConcentration in MilligramsPerCubicMeter. + + + + + Get MassConcentration in MilligramsPerDeciliter. + + + + + Get MassConcentration in MilligramsPerLiter. + + + + + Get MassConcentration in MilligramsPerMicroliter. + + + + + Get MassConcentration in MilligramsPerMilliliter. + + + + + Get MassConcentration in NanogramsPerDeciliter. + + + + + Get MassConcentration in NanogramsPerLiter. + + + + + Get MassConcentration in NanogramsPerMicroliter. + + + + + Get MassConcentration in NanogramsPerMilliliter. + + + + + Get MassConcentration in PicogramsPerDeciliter. + + + + + Get MassConcentration in PicogramsPerLiter. + + + + + Get MassConcentration in PicogramsPerMicroliter. + + + + + Get MassConcentration in PicogramsPerMilliliter. + + + + + Get MassConcentration in PoundsPerCubicFoot. + + + + + Get MassConcentration in PoundsPerCubicInch. + + + + + Get MassConcentration in PoundsPerImperialGallon. + + + + + Get MassConcentration in PoundsPerUSGallon. + + + + + Get MassConcentration in SlugsPerCubicFoot. + + + + + Get MassConcentration in TonnesPerCubicCentimeter. + + + + + Get MassConcentration in TonnesPerCubicMeter. + + + + + Get MassConcentration in TonnesPerCubicMillimeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MassConcentration from CentigramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from CentigramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from CentigramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from CentigramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from DecigramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from DecigramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from DecigramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from DecigramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from GramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from KilogramsPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from KilogramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from KilogramsPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from KilogramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from KilopoundsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get MassConcentration from KilopoundsPerCubicInch. + + If value is NaN or Infinity. + + + + Get MassConcentration from MicrogramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MicrogramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MicrogramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MicrogramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MicrogramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MilligramsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MilligramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MilligramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MilligramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from MilligramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from NanogramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from NanogramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from NanogramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from NanogramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from PicogramsPerDeciliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from PicogramsPerLiter. + + If value is NaN or Infinity. + + + + Get MassConcentration from PicogramsPerMicroliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from PicogramsPerMilliliter. + + If value is NaN or Infinity. + + + + Get MassConcentration from PoundsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get MassConcentration from PoundsPerCubicInch. + + If value is NaN or Infinity. + + + + Get MassConcentration from PoundsPerImperialGallon. + + If value is NaN or Infinity. + + + + Get MassConcentration from PoundsPerUSGallon. + + If value is NaN or Infinity. + + + + Get MassConcentration from SlugsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get MassConcentration from TonnesPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from TonnesPerCubicMeter. + + If value is NaN or Infinity. + + + + Get MassConcentration from TonnesPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MassConcentration unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MassConcentration within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MassConcentration. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MassConcentration to another MassConcentration with the unit representation . + + A MassConcentration with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Mass flow is the ratio of the mass change to the time during which the change occurred (value of mass changes per unit time). + + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MassFlow, which is GramPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of MassFlow + + + + + Represents the smallest possible value of MassFlow + + + + + The of this quantity. + + + + + All units of measurement for the MassFlow quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit GramPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MassFlow in CentigramsPerDay. + + + + + Get MassFlow in CentigramsPerSecond. + + + + + Get MassFlow in DecagramsPerDay. + + + + + Get MassFlow in DecagramsPerSecond. + + + + + Get MassFlow in DecigramsPerDay. + + + + + Get MassFlow in DecigramsPerSecond. + + + + + Get MassFlow in GramsPerDay. + + + + + Get MassFlow in GramsPerHour. + + + + + Get MassFlow in GramsPerSecond. + + + + + Get MassFlow in HectogramsPerDay. + + + + + Get MassFlow in HectogramsPerSecond. + + + + + Get MassFlow in KilogramsPerDay. + + + + + Get MassFlow in KilogramsPerHour. + + + + + Get MassFlow in KilogramsPerMinute. + + + + + Get MassFlow in KilogramsPerSecond. + + + + + Get MassFlow in MegagramsPerDay. + + + + + Get MassFlow in MegapoundsPerDay. + + + + + Get MassFlow in MegapoundsPerHour. + + + + + Get MassFlow in MegapoundsPerMinute. + + + + + Get MassFlow in MegapoundsPerSecond. + + + + + Get MassFlow in MicrogramsPerDay. + + + + + Get MassFlow in MicrogramsPerSecond. + + + + + Get MassFlow in MilligramsPerDay. + + + + + Get MassFlow in MilligramsPerSecond. + + + + + Get MassFlow in NanogramsPerDay. + + + + + Get MassFlow in NanogramsPerSecond. + + + + + Get MassFlow in PoundsPerDay. + + + + + Get MassFlow in PoundsPerHour. + + + + + Get MassFlow in PoundsPerMinute. + + + + + Get MassFlow in PoundsPerSecond. + + + + + Get MassFlow in ShortTonsPerHour. + + + + + Get MassFlow in TonnesPerDay. + + + + + Get MassFlow in TonnesPerHour. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MassFlow from CentigramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from CentigramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from DecagramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from DecagramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from DecigramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from DecigramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from GramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from GramsPerHour. + + If value is NaN or Infinity. + + + + Get MassFlow from GramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from HectogramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from HectogramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from KilogramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from KilogramsPerHour. + + If value is NaN or Infinity. + + + + Get MassFlow from KilogramsPerMinute. + + If value is NaN or Infinity. + + + + Get MassFlow from KilogramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from MegagramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from MegapoundsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from MegapoundsPerHour. + + If value is NaN or Infinity. + + + + Get MassFlow from MegapoundsPerMinute. + + If value is NaN or Infinity. + + + + Get MassFlow from MegapoundsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from MicrogramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from MicrogramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from MilligramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from MilligramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from NanogramsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from NanogramsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from PoundsPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from PoundsPerHour. + + If value is NaN or Infinity. + + + + Get MassFlow from PoundsPerMinute. + + If value is NaN or Infinity. + + + + Get MassFlow from PoundsPerSecond. + + If value is NaN or Infinity. + + + + Get MassFlow from ShortTonsPerHour. + + If value is NaN or Infinity. + + + + Get MassFlow from TonnesPerDay. + + If value is NaN or Infinity. + + + + Get MassFlow from TonnesPerHour. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MassFlow unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MassFlow within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MassFlow. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MassFlow to another MassFlow with the unit representation . + + A MassFlow with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Mass flux is the mass flow rate per unit area. + + + + Get from divided by . + + + Get from divided by . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MassFlux, which is KilogramPerSecondPerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of MassFlux + + + + + Represents the smallest possible value of MassFlux + + + + + The of this quantity. + + + + + All units of measurement for the MassFlux quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerSecondPerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MassFlux in GramsPerHourPerSquareCentimeter. + + + + + Get MassFlux in GramsPerHourPerSquareMeter. + + + + + Get MassFlux in GramsPerHourPerSquareMillimeter. + + + + + Get MassFlux in GramsPerSecondPerSquareCentimeter. + + + + + Get MassFlux in GramsPerSecondPerSquareMeter. + + + + + Get MassFlux in GramsPerSecondPerSquareMillimeter. + + + + + Get MassFlux in KilogramsPerHourPerSquareCentimeter. + + + + + Get MassFlux in KilogramsPerHourPerSquareMeter. + + + + + Get MassFlux in KilogramsPerHourPerSquareMillimeter. + + + + + Get MassFlux in KilogramsPerSecondPerSquareCentimeter. + + + + + Get MassFlux in KilogramsPerSecondPerSquareMeter. + + + + + Get MassFlux in KilogramsPerSecondPerSquareMillimeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MassFlux from GramsPerHourPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from GramsPerHourPerSquareMeter. + + If value is NaN or Infinity. + + + + Get MassFlux from GramsPerHourPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from GramsPerSecondPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from GramsPerSecondPerSquareMeter. + + If value is NaN or Infinity. + + + + Get MassFlux from GramsPerSecondPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from KilogramsPerHourPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from KilogramsPerHourPerSquareMeter. + + If value is NaN or Infinity. + + + + Get MassFlux from KilogramsPerHourPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from KilogramsPerSecondPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get MassFlux from KilogramsPerSecondPerSquareMeter. + + If value is NaN or Infinity. + + + + Get MassFlux from KilogramsPerSecondPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MassFlux unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MassFlux within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MassFlux. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MassFlux to another MassFlux with the unit representation . + + A MassFlux with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The mass fraction is defined as the mass of a constituent divided by the total mass of the mixture. + + + https://en.wikipedia.org/wiki/Mass_fraction_(chemistry) + + + + + Get the of the component by multiplying the of the mixture and this . + + The total mass of the mixture + The actual mass of the component involved in this mixture + + + + Get the total of the mixture by dividing the of the component by this + + The actual mass of the component involved in this mixture + The total mass of the mixture + + + + Get from a component and total mixture . + + + + Get from multiplied by a . + + + Get from multiplied by a . + + + Get the total by dividing the component by a . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MassFraction, which is DecimalFraction. All conversions go via this value. + + + + + Represents the largest possible value of MassFraction + + + + + Represents the smallest possible value of MassFraction + + + + + The of this quantity. + + + + + All units of measurement for the MassFraction quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DecimalFraction. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MassFraction in CentigramsPerGram. + + + + + Get MassFraction in CentigramsPerKilogram. + + + + + Get MassFraction in DecagramsPerGram. + + + + + Get MassFraction in DecagramsPerKilogram. + + + + + Get MassFraction in DecigramsPerGram. + + + + + Get MassFraction in DecigramsPerKilogram. + + + + + Get MassFraction in DecimalFractions. + + + + + Get MassFraction in GramsPerGram. + + + + + Get MassFraction in GramsPerKilogram. + + + + + Get MassFraction in HectogramsPerGram. + + + + + Get MassFraction in HectogramsPerKilogram. + + + + + Get MassFraction in KilogramsPerGram. + + + + + Get MassFraction in KilogramsPerKilogram. + + + + + Get MassFraction in MicrogramsPerGram. + + + + + Get MassFraction in MicrogramsPerKilogram. + + + + + Get MassFraction in MilligramsPerGram. + + + + + Get MassFraction in MilligramsPerKilogram. + + + + + Get MassFraction in NanogramsPerGram. + + + + + Get MassFraction in NanogramsPerKilogram. + + + + + Get MassFraction in PartsPerBillion. + + + + + Get MassFraction in PartsPerMillion. + + + + + Get MassFraction in PartsPerThousand. + + + + + Get MassFraction in PartsPerTrillion. + + + + + Get MassFraction in Percent. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MassFraction from CentigramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from CentigramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from DecagramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from DecagramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from DecigramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from DecigramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from DecimalFractions. + + If value is NaN or Infinity. + + + + Get MassFraction from GramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from GramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from HectogramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from HectogramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from KilogramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from KilogramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from MicrogramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from MicrogramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from MilligramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from MilligramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from NanogramsPerGram. + + If value is NaN or Infinity. + + + + Get MassFraction from NanogramsPerKilogram. + + If value is NaN or Infinity. + + + + Get MassFraction from PartsPerBillion. + + If value is NaN or Infinity. + + + + Get MassFraction from PartsPerMillion. + + If value is NaN or Infinity. + + + + Get MassFraction from PartsPerThousand. + + If value is NaN or Infinity. + + + + Get MassFraction from PartsPerTrillion. + + If value is NaN or Infinity. + + + + Get MassFraction from Percent. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MassFraction unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MassFraction within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MassFraction. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MassFraction to another MassFraction with the unit representation . + + A MassFraction with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Molar concentration, also called molarity, amount concentration or substance concentration, is a measure of the concentration of a solute in a solution, or of any chemical species, in terms of amount of substance in a given volume. + + + https://en.wikipedia.org/wiki/Molar_concentration + + + + + Construct from divided by . + + + + + + Get a from this . + + + + + + + Get a from this . + + + + + + Get a from this . + + + + + + + Get from . + + + + + + + Get from and known component and . + + + + + + + + Get from times the . + + + Get from times the . + + + Get from diluting the current by the given . + + + Get from diluting the current by the given . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Molarity, which is MolesPerCubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of Molarity + + + + + Represents the smallest possible value of Molarity + + + + + The of this quantity. + + + + + All units of measurement for the Molarity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit MolesPerCubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Molarity in CentimolesPerLiter. + + + + + Get Molarity in DecimolesPerLiter. + + + + + Get Molarity in MicromolesPerLiter. + + + + + Get Molarity in MillimolesPerLiter. + + + + + Get Molarity in MolesPerCubicMeter. + + + + + Get Molarity in MolesPerLiter. + + + + + Get Molarity in NanomolesPerLiter. + + + + + Get Molarity in PicomolesPerLiter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Molarity from CentimolesPerLiter. + + If value is NaN or Infinity. + + + + Get Molarity from DecimolesPerLiter. + + If value is NaN or Infinity. + + + + Get Molarity from MicromolesPerLiter. + + If value is NaN or Infinity. + + + + Get Molarity from MillimolesPerLiter. + + If value is NaN or Infinity. + + + + Get Molarity from MolesPerCubicMeter. + + If value is NaN or Infinity. + + + + Get Molarity from MolesPerLiter. + + If value is NaN or Infinity. + + + + Get Molarity from NanomolesPerLiter. + + If value is NaN or Infinity. + + + + Get Molarity from PicomolesPerLiter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Molarity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Molarity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Molarity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Molarity to another Molarity with the unit representation . + + A Molarity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In physics, power is the rate of doing work. It is equivalent to an amount of energy consumed per unit time. + + + + + Gets a from this relative to one watt. + + + Provides a nicer syntax for converting a power to a power ratio (relative to 1 watt). + + var powerRatio = power.ToPowerRatio(); + + + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Calculate from divided by . + Electric power is defined as P = U * I, so I = P / U. + + + Calculate from divided by . + Electric power is defined as P = U * I, so I = P / U. + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Power, which is Watt. All conversions go via this value. + + + + + Represents the largest possible value of Power + + + + + Represents the smallest possible value of Power + + + + + The of this quantity. + + + + + All units of measurement for the Power quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Watt. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Power in BoilerHorsepower. + + + + + Get Power in BritishThermalUnitsPerHour. + + + + + Get Power in Decawatts. + + + + + Get Power in Deciwatts. + + + + + Get Power in ElectricalHorsepower. + + + + + Get Power in Femtowatts. + + + + + Get Power in GigajoulesPerHour. + + + + + Get Power in Gigawatts. + + + + + Get Power in HydraulicHorsepower. + + + + + Get Power in JoulesPerHour. + + + + + Get Power in KilobritishThermalUnitsPerHour. + + + + + Get Power in KilojoulesPerHour. + + + + + Get Power in Kilowatts. + + + + + Get Power in MechanicalHorsepower. + + + + + Get Power in MegajoulesPerHour. + + + + + Get Power in Megawatts. + + + + + Get Power in MetricHorsepower. + + + + + Get Power in Microwatts. + + + + + Get Power in MillijoulesPerHour. + + + + + Get Power in Milliwatts. + + + + + Get Power in Nanowatts. + + + + + Get Power in Petawatts. + + + + + Get Power in Picowatts. + + + + + Get Power in Terawatts. + + + + + Get Power in Watts. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Power from BoilerHorsepower. + + If value is NaN or Infinity. + + + + Get Power from BritishThermalUnitsPerHour. + + If value is NaN or Infinity. + + + + Get Power from Decawatts. + + If value is NaN or Infinity. + + + + Get Power from Deciwatts. + + If value is NaN or Infinity. + + + + Get Power from ElectricalHorsepower. + + If value is NaN or Infinity. + + + + Get Power from Femtowatts. + + If value is NaN or Infinity. + + + + Get Power from GigajoulesPerHour. + + If value is NaN or Infinity. + + + + Get Power from Gigawatts. + + If value is NaN or Infinity. + + + + Get Power from HydraulicHorsepower. + + If value is NaN or Infinity. + + + + Get Power from JoulesPerHour. + + If value is NaN or Infinity. + + + + Get Power from KilobritishThermalUnitsPerHour. + + If value is NaN or Infinity. + + + + Get Power from KilojoulesPerHour. + + If value is NaN or Infinity. + + + + Get Power from Kilowatts. + + If value is NaN or Infinity. + + + + Get Power from MechanicalHorsepower. + + If value is NaN or Infinity. + + + + Get Power from MegajoulesPerHour. + + If value is NaN or Infinity. + + + + Get Power from Megawatts. + + If value is NaN or Infinity. + + + + Get Power from MetricHorsepower. + + If value is NaN or Infinity. + + + + Get Power from Microwatts. + + If value is NaN or Infinity. + + + + Get Power from MillijoulesPerHour. + + If value is NaN or Infinity. + + + + Get Power from Milliwatts. + + If value is NaN or Infinity. + + + + Get Power from Nanowatts. + + If value is NaN or Infinity. + + + + Get Power from Petawatts. + + If value is NaN or Infinity. + + + + Get Power from Picowatts. + + If value is NaN or Infinity. + + + + Get Power from Terawatts. + + If value is NaN or Infinity. + + + + Get Power from Watts. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Power unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Power within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Power. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Power to another Power with the unit representation . + + A Power with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The strength of a signal expressed in decibels (dB) relative to one watt. + + + + + Initializes a new instance of the struct from the specified power referenced to one watt. + + The power relative to one watt. + + + + Gets a from this (which is a power level relative to one watt). + + + Provides a nicer syntax for converting a power ratio back to a power. + + var power = powerRatio.ToPower(); + + + + + + Gets a from this . + + The input impedance of the load. This is usually 50, 75 or 600 ohms. + + + + Gets a from a relative to one watt. + + The power relative to one watt. + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of PowerRatio, which is DecibelWatt. All conversions go via this value. + + + + + Represents the largest possible value of PowerRatio + + + + + Represents the smallest possible value of PowerRatio + + + + + The of this quantity. + + + + + All units of measurement for the PowerRatio quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DecibelWatt. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get PowerRatio in DecibelMilliwatts. + + + + + Get PowerRatio in DecibelWatts. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get PowerRatio from DecibelMilliwatts. + + If value is NaN or Infinity. + + + + Get PowerRatio from DecibelWatts. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + PowerRatio unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from logarithmic addition of two . + + + Get from logarithmic subtraction of two . + + + Get from logarithmic multiplication of value and . + + + Get from logarithmic multiplication of value and . + + + Get from logarithmic division of by value. + + + Get ratio value from logarithmic division of by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another PowerRatio within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current PowerRatio. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this PowerRatio to another PowerRatio with the unit representation . + + A PowerRatio with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Pressure (symbol: P or p) is the ratio of force to the area over which that force is distributed. Pressure is force per unit area applied in a direction perpendicular to the surface of an object. Gauge pressure (also spelled gage pressure)[a] is the pressure relative to the local atmospheric or ambient pressure. Pressure is measured in any unit of force divided by any unit of area. The SI unit of pressure is the newton per square metre, which is called the pascal (Pa) after the seventeenth-century philosopher and scientist Blaise Pascal. A pressure of 1 Pa is small; it approximately equals the pressure exerted by a dollar bill resting flat on a table. Everyday pressures are often stated in kilopascals (1 kPa = 1000 Pa). + + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Pressure, which is Pascal. All conversions go via this value. + + + + + Represents the largest possible value of Pressure + + + + + Represents the smallest possible value of Pressure + + + + + The of this quantity. + + + + + All units of measurement for the Pressure quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Pascal. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Pressure in Atmospheres. + + + + + Get Pressure in Bars. + + + + + Get Pressure in Centibars. + + + + + Get Pressure in Decapascals. + + + + + Get Pressure in Decibars. + + + + + Get Pressure in DynesPerSquareCentimeter. + + + + + Get Pressure in FeetOfElevation. + + + + + Get Pressure in FeetOfHead. + + + + + Get Pressure in Gigapascals. + + + + + Get Pressure in Hectopascals. + + + + + Get Pressure in InchesOfMercury. + + + + + Get Pressure in InchesOfWaterColumn. + + + + + Get Pressure in Kilobars. + + + + + Get Pressure in KilogramsForcePerSquareCentimeter. + + + + + Get Pressure in KilogramsForcePerSquareMeter. + + + + + Get Pressure in KilogramsForcePerSquareMillimeter. + + + + + Get Pressure in KilonewtonsPerSquareCentimeter. + + + + + Get Pressure in KilonewtonsPerSquareMeter. + + + + + Get Pressure in KilonewtonsPerSquareMillimeter. + + + + + Get Pressure in Kilopascals. + + + + + Get Pressure in KilopoundsForcePerSquareFoot. + + + + + Get Pressure in KilopoundsForcePerSquareInch. + + + + + Get Pressure in Megabars. + + + + + Get Pressure in MeganewtonsPerSquareMeter. + + + + + Get Pressure in Megapascals. + + + + + Get Pressure in MetersOfElevation. + + + + + Get Pressure in MetersOfHead. + + + + + Get Pressure in Microbars. + + + + + Get Pressure in Micropascals. + + + + + Get Pressure in Millibars. + + + + + Get Pressure in MillimetersOfMercury. + + + + + Get Pressure in Millipascals. + + + + + Get Pressure in NewtonsPerSquareCentimeter. + + + + + Get Pressure in NewtonsPerSquareMeter. + + + + + Get Pressure in NewtonsPerSquareMillimeter. + + + + + Get Pressure in Pascals. + + + + + Get Pressure in PoundsForcePerSquareFoot. + + + + + Get Pressure in PoundsForcePerSquareInch. + + + + + Get Pressure in PoundsPerInchSecondSquared. + + + + + Get Pressure in TechnicalAtmospheres. + + + + + Get Pressure in TonnesForcePerSquareCentimeter. + + + + + Get Pressure in TonnesForcePerSquareMeter. + + + + + Get Pressure in TonnesForcePerSquareMillimeter. + + + + + Get Pressure in Torrs. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Pressure from Atmospheres. + + If value is NaN or Infinity. + + + + Get Pressure from Bars. + + If value is NaN or Infinity. + + + + Get Pressure from Centibars. + + If value is NaN or Infinity. + + + + Get Pressure from Decapascals. + + If value is NaN or Infinity. + + + + Get Pressure from Decibars. + + If value is NaN or Infinity. + + + + Get Pressure from DynesPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Pressure from FeetOfElevation. + + If value is NaN or Infinity. + + + + Get Pressure from FeetOfHead. + + If value is NaN or Infinity. + + + + Get Pressure from Gigapascals. + + If value is NaN or Infinity. + + + + Get Pressure from Hectopascals. + + If value is NaN or Infinity. + + + + Get Pressure from InchesOfMercury. + + If value is NaN or Infinity. + + + + Get Pressure from InchesOfWaterColumn. + + If value is NaN or Infinity. + + + + Get Pressure from Kilobars. + + If value is NaN or Infinity. + + + + Get Pressure from KilogramsForcePerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Pressure from KilogramsForcePerSquareMeter. + + If value is NaN or Infinity. + + + + Get Pressure from KilogramsForcePerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get Pressure from KilonewtonsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Pressure from KilonewtonsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Pressure from KilonewtonsPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get Pressure from Kilopascals. + + If value is NaN or Infinity. + + + + Get Pressure from KilopoundsForcePerSquareFoot. + + If value is NaN or Infinity. + + + + Get Pressure from KilopoundsForcePerSquareInch. + + If value is NaN or Infinity. + + + + Get Pressure from Megabars. + + If value is NaN or Infinity. + + + + Get Pressure from MeganewtonsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Pressure from Megapascals. + + If value is NaN or Infinity. + + + + Get Pressure from MetersOfElevation. + + If value is NaN or Infinity. + + + + Get Pressure from MetersOfHead. + + If value is NaN or Infinity. + + + + Get Pressure from Microbars. + + If value is NaN or Infinity. + + + + Get Pressure from Micropascals. + + If value is NaN or Infinity. + + + + Get Pressure from Millibars. + + If value is NaN or Infinity. + + + + Get Pressure from MillimetersOfMercury. + + If value is NaN or Infinity. + + + + Get Pressure from Millipascals. + + If value is NaN or Infinity. + + + + Get Pressure from NewtonsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Pressure from NewtonsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Pressure from NewtonsPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get Pressure from Pascals. + + If value is NaN or Infinity. + + + + Get Pressure from PoundsForcePerSquareFoot. + + If value is NaN or Infinity. + + + + Get Pressure from PoundsForcePerSquareInch. + + If value is NaN or Infinity. + + + + Get Pressure from PoundsPerInchSecondSquared. + + If value is NaN or Infinity. + + + + Get Pressure from TechnicalAtmospheres. + + If value is NaN or Infinity. + + + + Get Pressure from TonnesForcePerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Pressure from TonnesForcePerSquareMeter. + + If value is NaN or Infinity. + + + + Get Pressure from TonnesForcePerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get Pressure from Torrs. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Pressure unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Pressure within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Pressure. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Pressure to another Pressure with the unit representation . + + A Pressure with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Rotational speed (sometimes called speed of revolution) is the number of complete rotations, revolutions, cycles, or turns per time unit. Rotational speed is a cyclic frequency, measured in radians per second or in hertz in the SI System by scientists, or in revolutions per minute (rpm or min-1) or revolutions per second in everyday life. The symbol for rotational speed is ω (the Greek lowercase letter "omega"). + + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of RotationalSpeed, which is RadianPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of RotationalSpeed + + + + + Represents the smallest possible value of RotationalSpeed + + + + + The of this quantity. + + + + + All units of measurement for the RotationalSpeed quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit RadianPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get RotationalSpeed in CentiradiansPerSecond. + + + + + Get RotationalSpeed in DeciradiansPerSecond. + + + + + Get RotationalSpeed in DegreesPerMinute. + + + + + Get RotationalSpeed in DegreesPerSecond. + + + + + Get RotationalSpeed in MicrodegreesPerSecond. + + + + + Get RotationalSpeed in MicroradiansPerSecond. + + + + + Get RotationalSpeed in MillidegreesPerSecond. + + + + + Get RotationalSpeed in MilliradiansPerSecond. + + + + + Get RotationalSpeed in NanodegreesPerSecond. + + + + + Get RotationalSpeed in NanoradiansPerSecond. + + + + + Get RotationalSpeed in RadiansPerSecond. + + + + + Get RotationalSpeed in RevolutionsPerMinute. + + + + + Get RotationalSpeed in RevolutionsPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get RotationalSpeed from CentiradiansPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from DeciradiansPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from DegreesPerMinute. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from DegreesPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from MicrodegreesPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from MicroradiansPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from MillidegreesPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from MilliradiansPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from NanodegreesPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from NanoradiansPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from RadiansPerSecond. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from RevolutionsPerMinute. + + If value is NaN or Infinity. + + + + Get RotationalSpeed from RevolutionsPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + RotationalSpeed unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another RotationalSpeed within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current RotationalSpeed. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this RotationalSpeed to another RotationalSpeed with the unit representation . + + A RotationalSpeed with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + https://en.wikipedia.org/wiki/Stiffness#Rotational_stiffness + + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of RotationalStiffness, which is NewtonMeterPerRadian. All conversions go via this value. + + + + + Represents the largest possible value of RotationalStiffness + + + + + Represents the smallest possible value of RotationalStiffness + + + + + The of this quantity. + + + + + All units of measurement for the RotationalStiffness quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonMeterPerRadian. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get RotationalStiffness in CentinewtonMetersPerDegree. + + + + + Get RotationalStiffness in CentinewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in CentinewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in DecanewtonMetersPerDegree. + + + + + Get RotationalStiffness in DecanewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in DecanewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in DecinewtonMetersPerDegree. + + + + + Get RotationalStiffness in DecinewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in DecinewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in KilonewtonMetersPerDegree. + + + + + Get RotationalStiffness in KilonewtonMetersPerRadian. + + + + + Get RotationalStiffness in KilonewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in KilonewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in KilopoundForceFeetPerDegrees. + + + + + Get RotationalStiffness in MeganewtonMetersPerDegree. + + + + + Get RotationalStiffness in MeganewtonMetersPerRadian. + + + + + Get RotationalStiffness in MeganewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in MeganewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in MicronewtonMetersPerDegree. + + + + + Get RotationalStiffness in MicronewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in MicronewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in MillinewtonMetersPerDegree. + + + + + Get RotationalStiffness in MillinewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in MillinewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in NanonewtonMetersPerDegree. + + + + + Get RotationalStiffness in NanonewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in NanonewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in NewtonMetersPerDegree. + + + + + Get RotationalStiffness in NewtonMetersPerRadian. + + + + + Get RotationalStiffness in NewtonMillimetersPerDegree. + + + + + Get RotationalStiffness in NewtonMillimetersPerRadian. + + + + + Get RotationalStiffness in PoundForceFeetPerRadian. + + + + + Get RotationalStiffness in PoundForceFeetPerDegrees. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get RotationalStiffness from CentinewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from CentinewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from CentinewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from DecanewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from DecanewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from DecanewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from DecinewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from DecinewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from DecinewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from KilonewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from KilonewtonMetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from KilonewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from KilonewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from KilopoundForceFeetPerDegrees. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MeganewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MeganewtonMetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MeganewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MeganewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MicronewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MicronewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MicronewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MillinewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MillinewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from MillinewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NanonewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NanonewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NanonewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NewtonMetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NewtonMetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NewtonMillimetersPerDegree. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from NewtonMillimetersPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from PoundForceFeetPerRadian. + + If value is NaN or Infinity. + + + + Get RotationalStiffness from PoundForceFeetPerDegrees. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + RotationalStiffness unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another RotationalStiffness within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current RotationalStiffness. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this RotationalStiffness to another RotationalStiffness with the unit representation . + + A RotationalStiffness with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + https://en.wikipedia.org/wiki/Stiffness#Rotational_stiffness + + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of RotationalStiffnessPerLength, which is NewtonMeterPerRadianPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of RotationalStiffnessPerLength + + + + + Represents the smallest possible value of RotationalStiffnessPerLength + + + + + The of this quantity. + + + + + All units of measurement for the RotationalStiffnessPerLength quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonMeterPerRadianPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get RotationalStiffnessPerLength in KilonewtonMetersPerRadianPerMeter. + + + + + Get RotationalStiffnessPerLength in KilopoundForceFeetPerDegreesPerFeet. + + + + + Get RotationalStiffnessPerLength in MeganewtonMetersPerRadianPerMeter. + + + + + Get RotationalStiffnessPerLength in NewtonMetersPerRadianPerMeter. + + + + + Get RotationalStiffnessPerLength in PoundForceFeetPerDegreesPerFeet. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get RotationalStiffnessPerLength from KilonewtonMetersPerRadianPerMeter. + + If value is NaN or Infinity. + + + + Get RotationalStiffnessPerLength from KilopoundForceFeetPerDegreesPerFeet. + + If value is NaN or Infinity. + + + + Get RotationalStiffnessPerLength from MeganewtonMetersPerRadianPerMeter. + + If value is NaN or Infinity. + + + + Get RotationalStiffnessPerLength from NewtonMetersPerRadianPerMeter. + + If value is NaN or Infinity. + + + + Get RotationalStiffnessPerLength from PoundForceFeetPerDegreesPerFeet. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + RotationalStiffnessPerLength unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another RotationalStiffnessPerLength within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current RotationalStiffnessPerLength. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this RotationalStiffnessPerLength to another RotationalStiffnessPerLength with the unit representation . + + A RotationalStiffnessPerLength with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The SpecificEnergy + + + https://en.wikipedia.org/wiki/Specific_energy + + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of SpecificEnergy, which is JoulePerKilogram. All conversions go via this value. + + + + + Represents the largest possible value of SpecificEnergy + + + + + Represents the smallest possible value of SpecificEnergy + + + + + The of this quantity. + + + + + All units of measurement for the SpecificEnergy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit JoulePerKilogram. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get SpecificEnergy in BtuPerPound. + + + + + Get SpecificEnergy in CaloriesPerGram. + + + + + Get SpecificEnergy in GigawattDaysPerKilogram. + + + + + Get SpecificEnergy in GigawattDaysPerShortTon. + + + + + Get SpecificEnergy in GigawattDaysPerTonne. + + + + + Get SpecificEnergy in GigawattHoursPerKilogram. + + + + + Get SpecificEnergy in JoulesPerKilogram. + + + + + Get SpecificEnergy in KilocaloriesPerGram. + + + + + Get SpecificEnergy in KilojoulesPerKilogram. + + + + + Get SpecificEnergy in KilowattDaysPerKilogram. + + + + + Get SpecificEnergy in KilowattDaysPerShortTon. + + + + + Get SpecificEnergy in KilowattDaysPerTonne. + + + + + Get SpecificEnergy in KilowattHoursPerKilogram. + + + + + Get SpecificEnergy in MegajoulesPerKilogram. + + + + + Get SpecificEnergy in MegawattDaysPerKilogram. + + + + + Get SpecificEnergy in MegawattDaysPerShortTon. + + + + + Get SpecificEnergy in MegawattDaysPerTonne. + + + + + Get SpecificEnergy in MegawattHoursPerKilogram. + + + + + Get SpecificEnergy in TerawattDaysPerKilogram. + + + + + Get SpecificEnergy in TerawattDaysPerShortTon. + + + + + Get SpecificEnergy in TerawattDaysPerTonne. + + + + + Get SpecificEnergy in WattDaysPerKilogram. + + + + + Get SpecificEnergy in WattDaysPerShortTon. + + + + + Get SpecificEnergy in WattDaysPerTonne. + + + + + Get SpecificEnergy in WattHoursPerKilogram. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get SpecificEnergy from BtuPerPound. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from CaloriesPerGram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from GigawattDaysPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from GigawattDaysPerShortTon. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from GigawattDaysPerTonne. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from GigawattHoursPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from JoulesPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from KilocaloriesPerGram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from KilojoulesPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from KilowattDaysPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from KilowattDaysPerShortTon. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from KilowattDaysPerTonne. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from KilowattHoursPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from MegajoulesPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from MegawattDaysPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from MegawattDaysPerShortTon. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from MegawattDaysPerTonne. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from MegawattHoursPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from TerawattDaysPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from TerawattDaysPerShortTon. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from TerawattDaysPerTonne. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from WattDaysPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from WattDaysPerShortTon. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from WattDaysPerTonne. + + If value is NaN or Infinity. + + + + Get SpecificEnergy from WattHoursPerKilogram. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + SpecificEnergy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another SpecificEnergy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current SpecificEnergy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this SpecificEnergy to another SpecificEnergy with the unit representation . + + A SpecificEnergy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In thermodynamics, the specific volume of a substance is the ratio of the substance's volume to its mass. It is the reciprocal of density and an intrinsic property of matter as well. + + + + Get from divided by . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of SpecificVolume, which is CubicMeterPerKilogram. All conversions go via this value. + + + + + Represents the largest possible value of SpecificVolume + + + + + Represents the smallest possible value of SpecificVolume + + + + + The of this quantity. + + + + + All units of measurement for the SpecificVolume quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit CubicMeterPerKilogram. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get SpecificVolume in CubicFeetPerPound. + + + + + Get SpecificVolume in CubicMetersPerKilogram. + + + + + Get SpecificVolume in MillicubicMetersPerKilogram. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get SpecificVolume from CubicFeetPerPound. + + If value is NaN or Infinity. + + + + Get SpecificVolume from CubicMetersPerKilogram. + + If value is NaN or Infinity. + + + + Get SpecificVolume from MillicubicMetersPerKilogram. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + SpecificVolume unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another SpecificVolume within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current SpecificVolume. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this SpecificVolume to another SpecificVolume with the unit representation . + + A SpecificVolume with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The SpecificWeight, or more precisely, the volumetric weight density, of a substance is its weight per unit volume. + + + http://en.wikipedia.org/wiki/Specificweight + + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of SpecificWeight, which is NewtonPerCubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of SpecificWeight + + + + + Represents the smallest possible value of SpecificWeight + + + + + The of this quantity. + + + + + All units of measurement for the SpecificWeight quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonPerCubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get SpecificWeight in KilogramsForcePerCubicCentimeter. + + + + + Get SpecificWeight in KilogramsForcePerCubicMeter. + + + + + Get SpecificWeight in KilogramsForcePerCubicMillimeter. + + + + + Get SpecificWeight in KilonewtonsPerCubicCentimeter. + + + + + Get SpecificWeight in KilonewtonsPerCubicMeter. + + + + + Get SpecificWeight in KilonewtonsPerCubicMillimeter. + + + + + Get SpecificWeight in KilopoundsForcePerCubicFoot. + + + + + Get SpecificWeight in KilopoundsForcePerCubicInch. + + + + + Get SpecificWeight in MeganewtonsPerCubicMeter. + + + + + Get SpecificWeight in NewtonsPerCubicCentimeter. + + + + + Get SpecificWeight in NewtonsPerCubicMeter. + + + + + Get SpecificWeight in NewtonsPerCubicMillimeter. + + + + + Get SpecificWeight in PoundsForcePerCubicFoot. + + + + + Get SpecificWeight in PoundsForcePerCubicInch. + + + + + Get SpecificWeight in TonnesForcePerCubicCentimeter. + + + + + Get SpecificWeight in TonnesForcePerCubicMeter. + + + + + Get SpecificWeight in TonnesForcePerCubicMillimeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get SpecificWeight from KilogramsForcePerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilogramsForcePerCubicMeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilogramsForcePerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilonewtonsPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilonewtonsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilonewtonsPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilopoundsForcePerCubicFoot. + + If value is NaN or Infinity. + + + + Get SpecificWeight from KilopoundsForcePerCubicInch. + + If value is NaN or Infinity. + + + + Get SpecificWeight from MeganewtonsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from NewtonsPerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from NewtonsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from NewtonsPerCubicMillimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from PoundsForcePerCubicFoot. + + If value is NaN or Infinity. + + + + Get SpecificWeight from PoundsForcePerCubicInch. + + If value is NaN or Infinity. + + + + Get SpecificWeight from TonnesForcePerCubicCentimeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from TonnesForcePerCubicMeter. + + If value is NaN or Infinity. + + + + Get SpecificWeight from TonnesForcePerCubicMillimeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + SpecificWeight unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another SpecificWeight within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current SpecificWeight. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this SpecificWeight to another SpecificWeight with the unit representation . + + A SpecificWeight with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In everyday use and in kinematics, the speed of an object is the magnitude of its velocity (the rate of change of its position); it is thus a scalar quantity.[1] The average speed of an object in an interval of time is the distance travelled by the object divided by the duration of the interval;[2] the instantaneous speed is the limit of the average speed as the duration of the time interval approaches zero. + + + + Get from divided by . + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Speed, which is MeterPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of Speed + + + + + Represents the smallest possible value of Speed + + + + + The of this quantity. + + + + + All units of measurement for the Speed quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit MeterPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Speed in CentimetersPerHour. + + + + + Get Speed in CentimetersPerMinutes. + + + + + Get Speed in CentimetersPerSecond. + + + + + Get Speed in DecimetersPerMinutes. + + + + + Get Speed in DecimetersPerSecond. + + + + + Get Speed in FeetPerHour. + + + + + Get Speed in FeetPerMinute. + + + + + Get Speed in FeetPerSecond. + + + + + Get Speed in InchesPerHour. + + + + + Get Speed in InchesPerMinute. + + + + + Get Speed in InchesPerSecond. + + + + + Get Speed in KilometersPerHour. + + + + + Get Speed in KilometersPerMinutes. + + + + + Get Speed in KilometersPerSecond. + + + + + Get Speed in Knots. + + + + + Get Speed in MetersPerHour. + + + + + Get Speed in MetersPerMinutes. + + + + + Get Speed in MetersPerSecond. + + + + + Get Speed in MicrometersPerMinutes. + + + + + Get Speed in MicrometersPerSecond. + + + + + Get Speed in MilesPerHour. + + + + + Get Speed in MillimetersPerHour. + + + + + Get Speed in MillimetersPerMinutes. + + + + + Get Speed in MillimetersPerSecond. + + + + + Get Speed in NanometersPerMinutes. + + + + + Get Speed in NanometersPerSecond. + + + + + Get Speed in UsSurveyFeetPerHour. + + + + + Get Speed in UsSurveyFeetPerMinute. + + + + + Get Speed in UsSurveyFeetPerSecond. + + + + + Get Speed in YardsPerHour. + + + + + Get Speed in YardsPerMinute. + + + + + Get Speed in YardsPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Speed from CentimetersPerHour. + + If value is NaN or Infinity. + + + + Get Speed from CentimetersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from CentimetersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from DecimetersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from DecimetersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from FeetPerHour. + + If value is NaN or Infinity. + + + + Get Speed from FeetPerMinute. + + If value is NaN or Infinity. + + + + Get Speed from FeetPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from InchesPerHour. + + If value is NaN or Infinity. + + + + Get Speed from InchesPerMinute. + + If value is NaN or Infinity. + + + + Get Speed from InchesPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from KilometersPerHour. + + If value is NaN or Infinity. + + + + Get Speed from KilometersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from KilometersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from Knots. + + If value is NaN or Infinity. + + + + Get Speed from MetersPerHour. + + If value is NaN or Infinity. + + + + Get Speed from MetersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from MetersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from MicrometersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from MicrometersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from MilesPerHour. + + If value is NaN or Infinity. + + + + Get Speed from MillimetersPerHour. + + If value is NaN or Infinity. + + + + Get Speed from MillimetersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from MillimetersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from NanometersPerMinutes. + + If value is NaN or Infinity. + + + + Get Speed from NanometersPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from UsSurveyFeetPerHour. + + If value is NaN or Infinity. + + + + Get Speed from UsSurveyFeetPerMinute. + + If value is NaN or Infinity. + + + + Get Speed from UsSurveyFeetPerSecond. + + If value is NaN or Infinity. + + + + Get Speed from YardsPerHour. + + If value is NaN or Infinity. + + + + Get Speed from YardsPerMinute. + + If value is NaN or Infinity. + + + + Get Speed from YardsPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Speed unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Speed within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Speed. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Speed to another Speed with the unit representation . + + A Speed with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A temperature is a numerical measure of hot or cold. Its measurement is by detection of heat radiation or particle velocity or kinetic energy, or by the bulk behavior of a thermometric material. It may be calibrated in any of various temperature scales, Celsius, Fahrenheit, Kelvin, etc. The fundamental physical definition of temperature is provided by thermodynamics. + + + + + Add a and a . + + Due to temperature units having different scales, the arithmetic must be performed on the same scale. + The new temperature. + + + + Add a and a . + + Due to temperature units having different scales, the arithmetic must be performed on the same scale. + The new temperature. + + + + Subtract a by a . + + Due to temperature units having different scales, the arithmetic must be performed on the same scale. + The new temperature. + + + + Subtract a by a . + + Due to temperature units having different scales, the arithmetic must be performed on the same scale. + The delta temperature (difference). + + + + Multiply temperature with a in a given . + + + Due to different temperature units having different zero points, we cannot simply + multiply or divide a temperature by a factor. We must first convert to the desired unit, then perform the + calculation. + + Factor to multiply by. + Unit to perform multiplication in. + The resulting . + + + + Divide temperature by a in a given . + + + Due to different temperature units having different zero points, we cannot simply + multiply or divide a temperature by a factor. We must first convert to the desired unit, then perform the + calculation. + + Factor to multiply by. + Unit to perform multiplication in. + The resulting . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Temperature, which is Kelvin. All conversions go via this value. + + + + + Represents the largest possible value of Temperature + + + + + Represents the smallest possible value of Temperature + + + + + The of this quantity. + + + + + All units of measurement for the Temperature quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Kelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Temperature in DegreesCelsius. + + + + + Get Temperature in DegreesDelisle. + + + + + Get Temperature in DegreesFahrenheit. + + + + + Get Temperature in DegreesNewton. + + + + + Get Temperature in DegreesRankine. + + + + + Get Temperature in DegreesReaumur. + + + + + Get Temperature in DegreesRoemer. + + + + + Get Temperature in Kelvins. + + + + + Get Temperature in MillidegreesCelsius. + + + + + Get Temperature in SolarTemperatures. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Temperature from DegreesCelsius. + + If value is NaN or Infinity. + + + + Get Temperature from DegreesDelisle. + + If value is NaN or Infinity. + + + + Get Temperature from DegreesFahrenheit. + + If value is NaN or Infinity. + + + + Get Temperature from DegreesNewton. + + If value is NaN or Infinity. + + + + Get Temperature from DegreesRankine. + + If value is NaN or Infinity. + + + + Get Temperature from DegreesReaumur. + + If value is NaN or Infinity. + + + + Get Temperature from DegreesRoemer. + + If value is NaN or Infinity. + + + + Get Temperature from Kelvins. + + If value is NaN or Infinity. + + + + Get Temperature from MillidegreesCelsius. + + If value is NaN or Infinity. + + + + Get Temperature from SolarTemperatures. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Temperature unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Temperature within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Temperature. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Temperature to another Temperature with the unit representation . + + A Temperature with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Difference between two temperatures. The conversions are different than for Temperature. + + + + Get from divided by . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of TemperatureDelta, which is Kelvin. All conversions go via this value. + + + + + Represents the largest possible value of TemperatureDelta + + + + + Represents the smallest possible value of TemperatureDelta + + + + + The of this quantity. + + + + + All units of measurement for the TemperatureDelta quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Kelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get TemperatureDelta in DegreesCelsius. + + + + + Get TemperatureDelta in DegreesDelisle. + + + + + Get TemperatureDelta in DegreesFahrenheit. + + + + + Get TemperatureDelta in DegreesNewton. + + + + + Get TemperatureDelta in DegreesRankine. + + + + + Get TemperatureDelta in DegreesReaumur. + + + + + Get TemperatureDelta in DegreesRoemer. + + + + + Get TemperatureDelta in Kelvins. + + + + + Get TemperatureDelta in MillidegreesCelsius. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get TemperatureDelta from DegreesCelsius. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from DegreesDelisle. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from DegreesFahrenheit. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from DegreesNewton. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from DegreesRankine. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from DegreesReaumur. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from DegreesRoemer. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from Kelvins. + + If value is NaN or Infinity. + + + + Get TemperatureDelta from MillidegreesCelsius. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + TemperatureDelta unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another TemperatureDelta within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current TemperatureDelta. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this TemperatureDelta to another TemperatureDelta with the unit representation . + + A TemperatureDelta with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Torque, moment or moment of force (see the terminology below), is the tendency of a force to rotate an object about an axis,[1] fulcrum, or pivot. Just as a force is a push or a pull, a torque can be thought of as a twist to an object. Mathematically, torque is defined as the cross product of the lever-arm distance and force, which tends to produce rotation. Loosely speaking, torque is a measure of the turning force on an object such as a bolt or a flywheel. For example, pushing or pulling the handle of a wrench connected to a nut or bolt produces a torque (turning force) that loosens or tightens the nut or bolt. + + + + Get from times . + + + Get from times . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Torque, which is NewtonMeter. All conversions go via this value. + + + + + Represents the largest possible value of Torque + + + + + Represents the smallest possible value of Torque + + + + + The of this quantity. + + + + + All units of measurement for the Torque quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Torque in KilogramForceCentimeters. + + + + + Get Torque in KilogramForceMeters. + + + + + Get Torque in KilogramForceMillimeters. + + + + + Get Torque in KilonewtonCentimeters. + + + + + Get Torque in KilonewtonMeters. + + + + + Get Torque in KilonewtonMillimeters. + + + + + Get Torque in KilopoundForceFeet. + + + + + Get Torque in KilopoundForceInches. + + + + + Get Torque in MeganewtonCentimeters. + + + + + Get Torque in MeganewtonMeters. + + + + + Get Torque in MeganewtonMillimeters. + + + + + Get Torque in MegapoundForceFeet. + + + + + Get Torque in MegapoundForceInches. + + + + + Get Torque in NewtonCentimeters. + + + + + Get Torque in NewtonMeters. + + + + + Get Torque in NewtonMillimeters. + + + + + Get Torque in PoundalFeet. + + + + + Get Torque in PoundForceFeet. + + + + + Get Torque in PoundForceInches. + + + + + Get Torque in TonneForceCentimeters. + + + + + Get Torque in TonneForceMeters. + + + + + Get Torque in TonneForceMillimeters. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Torque from KilogramForceCentimeters. + + If value is NaN or Infinity. + + + + Get Torque from KilogramForceMeters. + + If value is NaN or Infinity. + + + + Get Torque from KilogramForceMillimeters. + + If value is NaN or Infinity. + + + + Get Torque from KilonewtonCentimeters. + + If value is NaN or Infinity. + + + + Get Torque from KilonewtonMeters. + + If value is NaN or Infinity. + + + + Get Torque from KilonewtonMillimeters. + + If value is NaN or Infinity. + + + + Get Torque from KilopoundForceFeet. + + If value is NaN or Infinity. + + + + Get Torque from KilopoundForceInches. + + If value is NaN or Infinity. + + + + Get Torque from MeganewtonCentimeters. + + If value is NaN or Infinity. + + + + Get Torque from MeganewtonMeters. + + If value is NaN or Infinity. + + + + Get Torque from MeganewtonMillimeters. + + If value is NaN or Infinity. + + + + Get Torque from MegapoundForceFeet. + + If value is NaN or Infinity. + + + + Get Torque from MegapoundForceInches. + + If value is NaN or Infinity. + + + + Get Torque from NewtonCentimeters. + + If value is NaN or Infinity. + + + + Get Torque from NewtonMeters. + + If value is NaN or Infinity. + + + + Get Torque from NewtonMillimeters. + + If value is NaN or Infinity. + + + + Get Torque from PoundalFeet. + + If value is NaN or Infinity. + + + + Get Torque from PoundForceFeet. + + If value is NaN or Infinity. + + + + Get Torque from PoundForceInches. + + If value is NaN or Infinity. + + + + Get Torque from TonneForceCentimeters. + + If value is NaN or Infinity. + + + + Get Torque from TonneForceMeters. + + If value is NaN or Infinity. + + + + Get Torque from TonneForceMillimeters. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Torque unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Torque within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Torque. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Torque to another Torque with the unit representation . + + A Torque with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Volume is the quantity of three-dimensional space enclosed by some closed boundary, for example, the space that a substance (solid, liquid, gas, or plasma) or shape occupies or contains.[1] Volume is often quantified numerically using the SI derived unit, the cubic metre. The volume of a container is generally understood to be the capacity of the container, i. e. the amount of fluid (gas or liquid) that the container could hold, rather than the amount of space the container itself displaces. + + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + Get from divided by . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Volume, which is CubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of Volume + + + + + Represents the smallest possible value of Volume + + + + + The of this quantity. + + + + + All units of measurement for the Volume quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit CubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Volume in AcreFeet. + + + + + Get Volume in AuTablespoons. + + + + + Get Volume in BoardFeet. + + + + + Get Volume in Centiliters. + + + + + Get Volume in CubicCentimeters. + + + + + Get Volume in CubicDecimeters. + + + + + Get Volume in CubicFeet. + + + + + Get Volume in CubicHectometers. + + + + + Get Volume in CubicInches. + + + + + Get Volume in CubicKilometers. + + + + + Get Volume in CubicMeters. + + + + + Get Volume in CubicMicrometers. + + + + + Get Volume in CubicMiles. + + + + + Get Volume in CubicMillimeters. + + + + + Get Volume in CubicYards. + + + + + Get Volume in DecausGallons. + + + + + Get Volume in Deciliters. + + + + + Get Volume in DeciusGallons. + + + + + Get Volume in HectocubicFeet. + + + + + Get Volume in HectocubicMeters. + + + + + Get Volume in Hectoliters. + + + + + Get Volume in HectousGallons. + + + + + Get Volume in ImperialBeerBarrels. + + + + + Get Volume in ImperialGallons. + + + + + Get Volume in ImperialOunces. + + + + + Get Volume in ImperialPints. + + + + + Get Volume in KilocubicFeet. + + + + + Get Volume in KilocubicMeters. + + + + + Get Volume in KiloimperialGallons. + + + + + Get Volume in Kiloliters. + + + + + Get Volume in KilousGallons. + + + + + Get Volume in Liters. + + + + + Get Volume in MegacubicFeet. + + + + + Get Volume in MegaimperialGallons. + + + + + Get Volume in Megaliters. + + + + + Get Volume in MegausGallons. + + + + + Get Volume in MetricCups. + + + + + Get Volume in MetricTeaspoons. + + + + + Get Volume in Microliters. + + + + + Get Volume in Milliliters. + + + + + Get Volume in OilBarrels. + + + + + Get Volume in UkTablespoons. + + + + + Get Volume in UsBeerBarrels. + + + + + Get Volume in UsCustomaryCups. + + + + + Get Volume in UsGallons. + + + + + Get Volume in UsLegalCups. + + + + + Get Volume in UsOunces. + + + + + Get Volume in UsPints. + + + + + Get Volume in UsQuarts. + + + + + Get Volume in UsTablespoons. + + + + + Get Volume in UsTeaspoons. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Volume from AcreFeet. + + If value is NaN or Infinity. + + + + Get Volume from AuTablespoons. + + If value is NaN or Infinity. + + + + Get Volume from BoardFeet. + + If value is NaN or Infinity. + + + + Get Volume from Centiliters. + + If value is NaN or Infinity. + + + + Get Volume from CubicCentimeters. + + If value is NaN or Infinity. + + + + Get Volume from CubicDecimeters. + + If value is NaN or Infinity. + + + + Get Volume from CubicFeet. + + If value is NaN or Infinity. + + + + Get Volume from CubicHectometers. + + If value is NaN or Infinity. + + + + Get Volume from CubicInches. + + If value is NaN or Infinity. + + + + Get Volume from CubicKilometers. + + If value is NaN or Infinity. + + + + Get Volume from CubicMeters. + + If value is NaN or Infinity. + + + + Get Volume from CubicMicrometers. + + If value is NaN or Infinity. + + + + Get Volume from CubicMiles. + + If value is NaN or Infinity. + + + + Get Volume from CubicMillimeters. + + If value is NaN or Infinity. + + + + Get Volume from CubicYards. + + If value is NaN or Infinity. + + + + Get Volume from DecausGallons. + + If value is NaN or Infinity. + + + + Get Volume from Deciliters. + + If value is NaN or Infinity. + + + + Get Volume from DeciusGallons. + + If value is NaN or Infinity. + + + + Get Volume from HectocubicFeet. + + If value is NaN or Infinity. + + + + Get Volume from HectocubicMeters. + + If value is NaN or Infinity. + + + + Get Volume from Hectoliters. + + If value is NaN or Infinity. + + + + Get Volume from HectousGallons. + + If value is NaN or Infinity. + + + + Get Volume from ImperialBeerBarrels. + + If value is NaN or Infinity. + + + + Get Volume from ImperialGallons. + + If value is NaN or Infinity. + + + + Get Volume from ImperialOunces. + + If value is NaN or Infinity. + + + + Get Volume from ImperialPints. + + If value is NaN or Infinity. + + + + Get Volume from KilocubicFeet. + + If value is NaN or Infinity. + + + + Get Volume from KilocubicMeters. + + If value is NaN or Infinity. + + + + Get Volume from KiloimperialGallons. + + If value is NaN or Infinity. + + + + Get Volume from Kiloliters. + + If value is NaN or Infinity. + + + + Get Volume from KilousGallons. + + If value is NaN or Infinity. + + + + Get Volume from Liters. + + If value is NaN or Infinity. + + + + Get Volume from MegacubicFeet. + + If value is NaN or Infinity. + + + + Get Volume from MegaimperialGallons. + + If value is NaN or Infinity. + + + + Get Volume from Megaliters. + + If value is NaN or Infinity. + + + + Get Volume from MegausGallons. + + If value is NaN or Infinity. + + + + Get Volume from MetricCups. + + If value is NaN or Infinity. + + + + Get Volume from MetricTeaspoons. + + If value is NaN or Infinity. + + + + Get Volume from Microliters. + + If value is NaN or Infinity. + + + + Get Volume from Milliliters. + + If value is NaN or Infinity. + + + + Get Volume from OilBarrels. + + If value is NaN or Infinity. + + + + Get Volume from UkTablespoons. + + If value is NaN or Infinity. + + + + Get Volume from UsBeerBarrels. + + If value is NaN or Infinity. + + + + Get Volume from UsCustomaryCups. + + If value is NaN or Infinity. + + + + Get Volume from UsGallons. + + If value is NaN or Infinity. + + + + Get Volume from UsLegalCups. + + If value is NaN or Infinity. + + + + Get Volume from UsOunces. + + If value is NaN or Infinity. + + + + Get Volume from UsPints. + + If value is NaN or Infinity. + + + + Get Volume from UsQuarts. + + If value is NaN or Infinity. + + + + Get Volume from UsTablespoons. + + If value is NaN or Infinity. + + + + Get Volume from UsTeaspoons. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Volume unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Volume within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Volume. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Volume to another Volume with the unit representation . + + A Volume with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The volume concentration (not to be confused with volume fraction) is defined as the volume of a constituent divided by the total volume of the mixture. + + + https://en.wikipedia.org/wiki/Concentration#Volume_concentration + + + + + Get from this and component . + + + + + + + Get from this and component and . + + + + + + + + Get from a component and total mixture . + + + + + Get a from and a component and . + + + + + + + Get from times the component . + + + Get from times the component . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of VolumeConcentration, which is DecimalFraction. All conversions go via this value. + + + + + Represents the largest possible value of VolumeConcentration + + + + + Represents the smallest possible value of VolumeConcentration + + + + + The of this quantity. + + + + + All units of measurement for the VolumeConcentration quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DecimalFraction. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get VolumeConcentration in CentilitersPerLiter. + + + + + Get VolumeConcentration in CentilitersPerMililiter. + + + + + Get VolumeConcentration in DecilitersPerLiter. + + + + + Get VolumeConcentration in DecilitersPerMililiter. + + + + + Get VolumeConcentration in DecimalFractions. + + + + + Get VolumeConcentration in LitersPerLiter. + + + + + Get VolumeConcentration in LitersPerMililiter. + + + + + Get VolumeConcentration in MicrolitersPerLiter. + + + + + Get VolumeConcentration in MicrolitersPerMililiter. + + + + + Get VolumeConcentration in MillilitersPerLiter. + + + + + Get VolumeConcentration in MillilitersPerMililiter. + + + + + Get VolumeConcentration in NanolitersPerLiter. + + + + + Get VolumeConcentration in NanolitersPerMililiter. + + + + + Get VolumeConcentration in PartsPerBillion. + + + + + Get VolumeConcentration in PartsPerMillion. + + + + + Get VolumeConcentration in PartsPerThousand. + + + + + Get VolumeConcentration in PartsPerTrillion. + + + + + Get VolumeConcentration in Percent. + + + + + Get VolumeConcentration in PicolitersPerLiter. + + + + + Get VolumeConcentration in PicolitersPerMililiter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get VolumeConcentration from CentilitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from CentilitersPerMililiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from DecilitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from DecilitersPerMililiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from DecimalFractions. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from LitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from LitersPerMililiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from MicrolitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from MicrolitersPerMililiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from MillilitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from MillilitersPerMililiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from NanolitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from NanolitersPerMililiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from PartsPerBillion. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from PartsPerMillion. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from PartsPerThousand. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from PartsPerTrillion. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from Percent. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from PicolitersPerLiter. + + If value is NaN or Infinity. + + + + Get VolumeConcentration from PicolitersPerMililiter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + VolumeConcentration unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another VolumeConcentration within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current VolumeConcentration. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this VolumeConcentration to another VolumeConcentration with the unit representation . + + A VolumeConcentration with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In physics and engineering, in particular fluid dynamics and hydrometry, the volumetric flow rate, (also known as volume flow rate, rate of fluid flow or volume velocity) is the volume of fluid which passes through a given surface per unit time. The SI unit is m³/s (cubic meters per second). In US Customary Units and British Imperial Units, volumetric flow rate is often expressed as ft³/s (cubic feet per second). It is usually represented by the symbol Q. + + + + Get from times . + + + Get from times . + + + Get from divided by . + + + Get from divided by . + + + Get from times . + + + Get from times . + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of VolumeFlow, which is CubicMeterPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of VolumeFlow + + + + + Represents the smallest possible value of VolumeFlow + + + + + The of this quantity. + + + + + All units of measurement for the VolumeFlow quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit CubicMeterPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get VolumeFlow in AcreFeetPerDay. + + + + + Get VolumeFlow in AcreFeetPerHour. + + + + + Get VolumeFlow in AcreFeetPerMinute. + + + + + Get VolumeFlow in AcreFeetPerSecond. + + + + + Get VolumeFlow in CentilitersPerDay. + + + + + Get VolumeFlow in CentilitersPerMinute. + + + + + Get VolumeFlow in CentilitersPerSecond. + + + + + Get VolumeFlow in CubicCentimetersPerMinute. + + + + + Get VolumeFlow in CubicDecimetersPerMinute. + + + + + Get VolumeFlow in CubicFeetPerHour. + + + + + Get VolumeFlow in CubicFeetPerMinute. + + + + + Get VolumeFlow in CubicFeetPerSecond. + + + + + Get VolumeFlow in CubicMetersPerDay. + + + + + Get VolumeFlow in CubicMetersPerHour. + + + + + Get VolumeFlow in CubicMetersPerMinute. + + + + + Get VolumeFlow in CubicMetersPerSecond. + + + + + Get VolumeFlow in CubicMillimetersPerSecond. + + + + + Get VolumeFlow in CubicYardsPerDay. + + + + + Get VolumeFlow in CubicYardsPerHour. + + + + + Get VolumeFlow in CubicYardsPerMinute. + + + + + Get VolumeFlow in CubicYardsPerSecond. + + + + + Get VolumeFlow in DecilitersPerDay. + + + + + Get VolumeFlow in DecilitersPerMinute. + + + + + Get VolumeFlow in DecilitersPerSecond. + + + + + Get VolumeFlow in KilolitersPerDay. + + + + + Get VolumeFlow in KilolitersPerMinute. + + + + + Get VolumeFlow in KilolitersPerSecond. + + + + + Get VolumeFlow in KilousGallonsPerMinute. + + + + + Get VolumeFlow in LitersPerDay. + + + + + Get VolumeFlow in LitersPerHour. + + + + + Get VolumeFlow in LitersPerMinute. + + + + + Get VolumeFlow in LitersPerSecond. + + + + + Get VolumeFlow in MegalitersPerDay. + + + + + Get VolumeFlow in MegaukGallonsPerSecond. + + + + + Get VolumeFlow in MicrolitersPerDay. + + + + + Get VolumeFlow in MicrolitersPerMinute. + + + + + Get VolumeFlow in MicrolitersPerSecond. + + + + + Get VolumeFlow in MillilitersPerDay. + + + + + Get VolumeFlow in MillilitersPerMinute. + + + + + Get VolumeFlow in MillilitersPerSecond. + + + + + Get VolumeFlow in MillionUsGallonsPerDay. + + + + + Get VolumeFlow in NanolitersPerDay. + + + + + Get VolumeFlow in NanolitersPerMinute. + + + + + Get VolumeFlow in NanolitersPerSecond. + + + + + Get VolumeFlow in OilBarrelsPerDay. + + + + + Get VolumeFlow in OilBarrelsPerHour. + + + + + Get VolumeFlow in OilBarrelsPerMinute. + + + + + Get VolumeFlow in OilBarrelsPerSecond. + + + + + Get VolumeFlow in UkGallonsPerDay. + + + + + Get VolumeFlow in UkGallonsPerHour. + + + + + Get VolumeFlow in UkGallonsPerMinute. + + + + + Get VolumeFlow in UkGallonsPerSecond. + + + + + Get VolumeFlow in UsGallonsPerDay. + + + + + Get VolumeFlow in UsGallonsPerHour. + + + + + Get VolumeFlow in UsGallonsPerMinute. + + + + + Get VolumeFlow in UsGallonsPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get VolumeFlow from AcreFeetPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from AcreFeetPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from AcreFeetPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from AcreFeetPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CentilitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CentilitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CentilitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicCentimetersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicDecimetersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicFeetPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicFeetPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicFeetPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicMetersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicMetersPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicMetersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicMetersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicMillimetersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicYardsPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicYardsPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicYardsPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from CubicYardsPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from DecilitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from DecilitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from DecilitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from KilolitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from KilolitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from KilolitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from KilousGallonsPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from LitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from LitersPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from LitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from LitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MegalitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MegaukGallonsPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MicrolitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MicrolitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MicrolitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MillilitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MillilitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MillilitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from MillionUsGallonsPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from NanolitersPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from NanolitersPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from NanolitersPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from OilBarrelsPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from OilBarrelsPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from OilBarrelsPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from OilBarrelsPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UkGallonsPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UkGallonsPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UkGallonsPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UkGallonsPerSecond. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UsGallonsPerDay. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UsGallonsPerHour. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UsGallonsPerMinute. + + If value is NaN or Infinity. + + + + Get VolumeFlow from UsGallonsPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + VolumeFlow unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another VolumeFlow within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current VolumeFlow. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this VolumeFlow to another VolumeFlow with the unit representation . + + A VolumeFlow with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + Dynamically parse or construct quantities when types are only known at runtime. + + + + + All enum values of , such as and . + + + + + All enum value names of , such as "Length" and "Mass". + + + + + All quantity information objects, such as and . + + + + + Dynamically construct a quantity. + + Numeric value. + Unit enum value. + An object. + Unit value is not a know unit enum type. + + + + + + + + + + Dynamically parse a quantity string representation. + + The format provider to use for lookup. Defaults to if null. + Type of quantity, such as . + Quantity string representation, such as "1.5 kg". Must be compatible with given quantity type. + The parsed quantity. + Type must be of type UnitsNet.IQuantity -or- Type is not a known quantity type. + + + + + + + Get information about the given quantity type. + + The quantity type enum value. + Information about the quantity and its units. + + + + Get a list of quantities that has the given base dimensions. + + The base dimensions to match. + + + + All QuantityInfo instances mapped by quantity name that are present in UnitsNet by default. + + + + + Dynamically constructs a quantity of the given with the value in the quantity's base units. + + The of the quantity to create. + The value to construct the quantity with. + The created quantity. + + + + Dynamically constructs a quantity of the given with the value in the quantity's base units. + + The of the quantity to create. + The value to construct the quantity with. + The created quantity. + + + + Try to dynamically construct a quantity. + + Numeric value. + Unit enum value. + The resulting quantity if successful, otherwise default. + True if successful with assigned the value, otherwise false. + + + + Try to dynamically parse a quantity string representation. + + The format provider to use for lookup. Defaults to if null. + Type of quantity, such as . + Quantity string representation, such as "1.5 kg". Must be compatible with given quantity type. + The resulting quantity if successful, otherwise default. + The parsed quantity. + + + + Allow integer, floating point or exponential number formats. + + + + + Workaround for C# not allowing to pass on 'out' param from type Length to IQuantity, even though the are compatible. + + + + + Parse a string given a particular regular expression. + + Error parsing string. + + + + Parse a string given a particular regular expression. + + Error parsing string. + + + + Cache of the mapping between unit enum values and unit abbreviation strings for one or more cultures. + A static instance is used internally for ToString() and Parse() of quantities and units. + + + + + Fallback culture used by and + if no abbreviations are found with a given culture. + + + User wants to call or with Russian + culture, but no translation is defined, so we return the US English definition as a last resort. If it's not + defined there either, an exception is thrown. + + + + + The static instance used internally for ToString() and Parse() of quantities and units. + + + + + Create an instance of the cache and load all the abbreviations defined in the library. + + + + + Adds one or more unit abbreviation for the given unit enum value. + This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums + in order to or on them later. + + The unit enum value. + Unit abbreviations to add. + The type of unit enum. + + + + Adds a unit abbreviation for the given unit enum value and sets it as the default. + This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums + in order to or on them later. + + The unit enum value. + Unit abbreviations to add as default. + The type of unit enum. + + + + Adds one or more unit abbreviation for the given unit enum value. + This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums + in order to or on them later. + + The unit enum value. + The format provider to use for lookup. Defaults to if null. + Unit abbreviations to add. + The type of unit enum. + + + + Adds a unit abbreviation for the given unit enum value and sets it as the default. + This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums + in order to or on them later. + + The unit enum value. + The format provider to use for lookup. Defaults to if null. + Unit abbreviation to add as default. + The type of unit enum. + + + + Adds one or more unit abbreviation for the given unit enum value. + This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums + in order to or on them later. + + The unit enum type. + The unit enum value. + The format provider to use for lookup. Defaults to if null. + Unit abbreviations to add. + + + + Adds a unit abbreviation for the given unit enum value and sets it as the default. + This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums + in order to or on them later. + + The unit enum type. + The unit enum value. + The format provider to use for lookup. Defaults to if null. + Unit abbreviation to add as default. + + + + Gets the default abbreviation for a given unit. If a unit has more than one abbreviation defined, then it returns the first one. + Example: GetDefaultAbbreviation<LengthUnit>(LengthUnit.Kilometer) => "km" + + The unit enum value. + The format provider to use for lookup. Defaults to if null. + The type of unit enum. + The default unit abbreviation string. + + + + Gets the default abbreviation for a given unit type and its numeric enum value. + If a unit has more than one abbreviation defined, then it returns the first one. + Example: GetDefaultAbbreviation<LengthUnit>(typeof(LengthUnit), 1) => "cm" + + The unit enum type. + The unit enum value. + The format provider to use for lookup. Defaults to if null. + The default unit abbreviation string. + + + + Get all abbreviations for unit. + + Enum type for units. + Enum value for unit. + The format provider to use for lookup. Defaults to if null. + Unit abbreviations associated with unit. + + + + Get all abbreviations for unit. + + Enum type for unit. + Enum value for unit. + The format provider to use for lookup. Defaults to if null. + Unit abbreviations associated with unit. + + + + Get all abbreviations for all units of a quantity. + + Enum type for unit. + The format provider to use for lookup. Defaults to if null. + Unit abbreviations associated with unit. + + + + Parses units given a unit abbreviations cache. + The static instance is used internally to parse quantities and units using the + default abbreviations cache for all units and abbreviations defined in the library. + + + + + The default static instance used internally to parse quantities and units using the + default abbreviations cache for all units and abbreviations defined in the library. + + + + + Create a parser using the given unit abbreviations cache. + + + + + + Parses a unit abbreviation for a given unit enumeration type. + Example: Parse<LengthUnit>("km") => LengthUnit.Kilometer + + + The format provider to use for lookup. Defaults to if null. + + + + + + Parse a unit abbreviation, such as "kg" or "m", to the unit enum value of the enum type + . + + + Unit abbreviation, such as "kg" or "m" for and + respectively. + + Unit enum type, such as and . + The format provider to use for lookup. Defaults to if null. + Unit enum value, such as . + No units match the abbreviation. + More than one unit matches the abbreviation. + + + + Try to parse a unit abbreviation. + + The string value. + The unit enum value as out result. + Type of unit enum. + True if successful. + + + + Try to parse a unit abbreviation. + + The string value. + The format provider to use for lookup. Defaults to if null. + The unit enum value as out result. + Type of unit enum. + True if successful. + + + + Try to parse a unit abbreviation. + + The string value. + Type of unit enum. + The unit enum value as out result. + True if successful. + + + + Try to parse a unit abbreviation. + + The string value. + Type of unit enum. + The format provider to use for lookup. Defaults to if null. + The unit enum value as out result. + True if successful. + + + + Pressure tied to a real-world reference, allowing conversion between references. + + + Absolute is referenced to true vacuum. + + + Gauge references the local atmospheric pressure. + + + Vacuum is the negative of the gauge. + + + + + + + Represents the pressure at which _pressure is referenced (1 atm default) + + + + + Gets a list of options: , + , and + + + + + Initializes a new instance of the struct requiring measured + + parameter. Assumes the to , with 1 atm as + the atmospheric . + + The measured absolute + + + + Initializes a new instance of the struct requiring + measured and parameters. Assumes 1 atm as the atmospheric + . + + The measured + + The referenced for the measured + + + + + Initializes a new instance of the struct requiring + measured , , and atmospheric + parameters + + The measured + + The referenced for the measured + + The atmospheric where the measurement was taken. + + + + Gets the of the + + + + + The base reference representation of for the numeric value stored internally. All + conversions go via this value. + + + + + The at the given . + + + + + Get Gauge . + It references pressure level above Atmospheric pressure. + + + + + Get Absolute . + It is zero-referenced pressure to the perfect vacuum. + + + + + Get Vacuum . + It is a negative Gauge pressure when Absolute pressure is below Atmospheric pressure. + + + + + Converts to at + + The to convert to. + The at the specified + + + + Converts to at + + The to convert to. + The value of pressure at + + + + Converts at to at + + + The value of pressure at the + + + + + 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. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ApparentEnergy, which is VoltampereHour. All conversions go via this value. + + + + + Represents the largest possible value of ApparentEnergy + + + + + Represents the smallest possible value of ApparentEnergy + + + + + The of this quantity. + + + + + All units of measurement for the ApparentEnergy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltampereHour. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ApparentEnergy in KilovoltampereHours. + + + + + Get ApparentEnergy in MegavoltampereHours. + + + + + Get ApparentEnergy in VoltampereHours. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ApparentEnergy from KilovoltampereHours. + + If value is NaN or Infinity. + + + + Get ApparentEnergy from MegavoltampereHours. + + If value is NaN or Infinity. + + + + Get ApparentEnergy from VoltampereHours. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ApparentEnergy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ApparentEnergy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ApparentEnergy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ApparentEnergy to another ApparentEnergy with the unit representation . + + A ApparentEnergy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + 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. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ApparentPower, which is Voltampere. All conversions go via this value. + + + + + Represents the largest possible value of ApparentPower + + + + + Represents the smallest possible value of ApparentPower + + + + + The of this quantity. + + + + + All units of measurement for the ApparentPower quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Voltampere. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ApparentPower in Gigavoltamperes. + + + + + Get ApparentPower in Kilovoltamperes. + + + + + Get ApparentPower in Megavoltamperes. + + + + + Get ApparentPower in Voltamperes. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ApparentPower from Gigavoltamperes. + + If value is NaN or Infinity. + + + + Get ApparentPower from Kilovoltamperes. + + If value is NaN or Infinity. + + + + Get ApparentPower from Megavoltamperes. + + If value is NaN or Infinity. + + + + Get ApparentPower from Voltamperes. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ApparentPower unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ApparentPower within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ApparentPower. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ApparentPower to another ApparentPower with the unit representation . + + A ApparentPower with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The area density of a two-dimensional object is calculated as the mass per unit area. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of AreaDensity, which is KilogramPerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of AreaDensity + + + + + Represents the smallest possible value of AreaDensity + + + + + The of this quantity. + + + + + All units of measurement for the AreaDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get AreaDensity in KilogramsPerSquareMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get AreaDensity from KilogramsPerSquareMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + AreaDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another AreaDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current AreaDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this AreaDensity to another AreaDensity with the unit representation . + + A AreaDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In telecommunications and computing, bit rate is the number of bits that are conveyed or processed per unit of time. + + + https://en.wikipedia.org/wiki/Bit_rate + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of BitRate, which is BitPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of BitRate + + + + + Represents the smallest possible value of BitRate + + + + + The of this quantity. + + + + + All units of measurement for the BitRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit BitPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get BitRate in BitsPerSecond. + + + + + Get BitRate in BytesPerSecond. + + + + + Get BitRate in ExabitsPerSecond. + + + + + Get BitRate in ExabytesPerSecond. + + + + + Get BitRate in ExbibitsPerSecond. + + + + + Get BitRate in ExbibytesPerSecond. + + + + + Get BitRate in GibibitsPerSecond. + + + + + Get BitRate in GibibytesPerSecond. + + + + + Get BitRate in GigabitsPerSecond. + + + + + Get BitRate in GigabytesPerSecond. + + + + + Get BitRate in KibibitsPerSecond. + + + + + Get BitRate in KibibytesPerSecond. + + + + + Get BitRate in KilobitsPerSecond. + + + + + Get BitRate in KilobytesPerSecond. + + + + + Get BitRate in MebibitsPerSecond. + + + + + Get BitRate in MebibytesPerSecond. + + + + + Get BitRate in MegabitsPerSecond. + + + + + Get BitRate in MegabytesPerSecond. + + + + + Get BitRate in PebibitsPerSecond. + + + + + Get BitRate in PebibytesPerSecond. + + + + + Get BitRate in PetabitsPerSecond. + + + + + Get BitRate in PetabytesPerSecond. + + + + + Get BitRate in TebibitsPerSecond. + + + + + Get BitRate in TebibytesPerSecond. + + + + + Get BitRate in TerabitsPerSecond. + + + + + Get BitRate in TerabytesPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get BitRate from BitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from BytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from ExabitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from ExabytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from ExbibitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from ExbibytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from GibibitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from GibibytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from GigabitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from GigabytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from KibibitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from KibibytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from KilobitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from KilobytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from MebibitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from MebibytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from MegabitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from MegabytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from PebibitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from PebibytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from PetabitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from PetabytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from TebibitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from TebibytesPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from TerabitsPerSecond. + + If value is NaN or Infinity. + + + + Get BitRate from TerabytesPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + BitRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another BitRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current BitRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this BitRate to another BitRate with the unit representation . + + A BitRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Capacitance is the ability of a body to store an electric charge. + + + https://en.wikipedia.org/wiki/Capacitance + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Capacitance, which is Farad. All conversions go via this value. + + + + + Represents the largest possible value of Capacitance + + + + + Represents the smallest possible value of Capacitance + + + + + The of this quantity. + + + + + All units of measurement for the Capacitance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Farad. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Capacitance in Farads. + + + + + Get Capacitance in Kilofarads. + + + + + Get Capacitance in Megafarads. + + + + + Get Capacitance in Microfarads. + + + + + Get Capacitance in Millifarads. + + + + + Get Capacitance in Nanofarads. + + + + + Get Capacitance in Picofarads. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Capacitance from Farads. + + If value is NaN or Infinity. + + + + Get Capacitance from Kilofarads. + + If value is NaN or Infinity. + + + + Get Capacitance from Megafarads. + + If value is NaN or Infinity. + + + + Get Capacitance from Microfarads. + + If value is NaN or Infinity. + + + + Get Capacitance from Millifarads. + + If value is NaN or Infinity. + + + + Get Capacitance from Nanofarads. + + If value is NaN or Infinity. + + + + Get Capacitance from Picofarads. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Capacitance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Capacitance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Capacitance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Capacitance to another Capacitance with the unit representation . + + A Capacitance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A unit that represents a fractional change in size in response to a change in temperature. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of CoefficientOfThermalExpansion, which is InverseKelvin. All conversions go via this value. + + + + + Represents the largest possible value of CoefficientOfThermalExpansion + + + + + Represents the smallest possible value of CoefficientOfThermalExpansion + + + + + The of this quantity. + + + + + All units of measurement for the CoefficientOfThermalExpansion quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit InverseKelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get CoefficientOfThermalExpansion in InverseDegreeCelsius. + + + + + Get CoefficientOfThermalExpansion in InverseDegreeFahrenheit. + + + + + Get CoefficientOfThermalExpansion in InverseKelvin. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get CoefficientOfThermalExpansion from InverseDegreeCelsius. + + If value is NaN or Infinity. + + + + Get CoefficientOfThermalExpansion from InverseDegreeFahrenheit. + + If value is NaN or Infinity. + + + + Get CoefficientOfThermalExpansion from InverseKelvin. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + CoefficientOfThermalExpansion unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another CoefficientOfThermalExpansion within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current CoefficientOfThermalExpansion. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this CoefficientOfThermalExpansion to another CoefficientOfThermalExpansion with the unit representation . + + A CoefficientOfThermalExpansion with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + 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). + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricAdmittance, which is Siemens. All conversions go via this value. + + + + + Represents the largest possible value of ElectricAdmittance + + + + + Represents the smallest possible value of ElectricAdmittance + + + + + The of this quantity. + + + + + All units of measurement for the ElectricAdmittance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Siemens. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricAdmittance in Microsiemens. + + + + + Get ElectricAdmittance in Millisiemens. + + + + + Get ElectricAdmittance in Nanosiemens. + + + + + Get ElectricAdmittance in Siemens. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricAdmittance from Microsiemens. + + If value is NaN or Infinity. + + + + Get ElectricAdmittance from Millisiemens. + + If value is NaN or Infinity. + + + + Get ElectricAdmittance from Nanosiemens. + + If value is NaN or Infinity. + + + + Get ElectricAdmittance from Siemens. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricAdmittance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricAdmittance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricAdmittance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricAdmittance to another ElectricAdmittance with the unit representation . + + A ElectricAdmittance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In electromagnetism, charge density is a measure of the amount of electric charge per volume. + + + https://en.wikipedia.org/wiki/Charge_density + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricChargeDensity, which is CoulombPerCubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of ElectricChargeDensity + + + + + Represents the smallest possible value of ElectricChargeDensity + + + + + The of this quantity. + + + + + All units of measurement for the ElectricChargeDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit CoulombPerCubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricChargeDensity in CoulombsPerCubicMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricChargeDensity from CoulombsPerCubicMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricChargeDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricChargeDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricChargeDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricChargeDensity to another ElectricChargeDensity with the unit representation . + + A ElectricChargeDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The electrical conductance of an electrical conductor is a measure of the easeness to pass an electric current through that conductor. + + + https://en.wikipedia.org/wiki/Electrical_resistance_and_conductance + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricConductance, which is Siemens. All conversions go via this value. + + + + + Represents the largest possible value of ElectricConductance + + + + + Represents the smallest possible value of ElectricConductance + + + + + The of this quantity. + + + + + All units of measurement for the ElectricConductance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Siemens. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricConductance in Microsiemens. + + + + + Get ElectricConductance in Millisiemens. + + + + + Get ElectricConductance in Siemens. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricConductance from Microsiemens. + + If value is NaN or Infinity. + + + + Get ElectricConductance from Millisiemens. + + If value is NaN or Infinity. + + + + Get ElectricConductance from Siemens. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricConductance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricConductance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricConductance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricConductance to another ElectricConductance with the unit representation . + + A ElectricConductance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Electrical conductivity or specific conductance is the reciprocal of electrical resistivity, and measures a material's ability to conduct an electric current. + + + https://en.wikipedia.org/wiki/Electrical_resistivity_and_conductivity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricConductivity, which is SiemensPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of ElectricConductivity + + + + + Represents the smallest possible value of ElectricConductivity + + + + + The of this quantity. + + + + + All units of measurement for the ElectricConductivity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit SiemensPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricConductivity in SiemensPerFoot. + + + + + Get ElectricConductivity in SiemensPerInch. + + + + + Get ElectricConductivity in SiemensPerMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricConductivity from SiemensPerFoot. + + If value is NaN or Infinity. + + + + Get ElectricConductivity from SiemensPerInch. + + If value is NaN or Infinity. + + + + Get ElectricConductivity from SiemensPerMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricConductivity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricConductivity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricConductivity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricConductivity to another ElectricConductivity with the unit representation . + + A ElectricConductivity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In electromagnetism, current density is the electric current per unit area of cross section. + + + https://en.wikipedia.org/wiki/Current_density + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricCurrentDensity, which is AmperePerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of ElectricCurrentDensity + + + + + Represents the smallest possible value of ElectricCurrentDensity + + + + + The of this quantity. + + + + + All units of measurement for the ElectricCurrentDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit AmperePerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricCurrentDensity in AmperesPerSquareFoot. + + + + + Get ElectricCurrentDensity in AmperesPerSquareInch. + + + + + Get ElectricCurrentDensity in AmperesPerSquareMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricCurrentDensity from AmperesPerSquareFoot. + + If value is NaN or Infinity. + + + + Get ElectricCurrentDensity from AmperesPerSquareInch. + + If value is NaN or Infinity. + + + + Get ElectricCurrentDensity from AmperesPerSquareMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricCurrentDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricCurrentDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricCurrentDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricCurrentDensity to another ElectricCurrentDensity with the unit representation . + + A ElectricCurrentDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In electromagnetism, the current gradient describes how the current changes in time. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricCurrentGradient, which is AmperePerSecond. All conversions go via this value. + + + + + Represents the largest possible value of ElectricCurrentGradient + + + + + Represents the smallest possible value of ElectricCurrentGradient + + + + + The of this quantity. + + + + + All units of measurement for the ElectricCurrentGradient quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit AmperePerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricCurrentGradient in AmperesPerMicrosecond. + + + + + Get ElectricCurrentGradient in AmperesPerMillisecond. + + + + + Get ElectricCurrentGradient in AmperesPerNanosecond. + + + + + Get ElectricCurrentGradient in AmperesPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricCurrentGradient from AmperesPerMicrosecond. + + If value is NaN or Infinity. + + + + Get ElectricCurrentGradient from AmperesPerMillisecond. + + If value is NaN or Infinity. + + + + Get ElectricCurrentGradient from AmperesPerNanosecond. + + If value is NaN or Infinity. + + + + Get ElectricCurrentGradient from AmperesPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricCurrentGradient unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricCurrentGradient within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricCurrentGradient. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricCurrentGradient to another ElectricCurrentGradient with the unit representation . + + A ElectricCurrentGradient with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + An electric field is a force field that surrounds electric charges that attracts or repels other electric charges. + + + https://en.wikipedia.org/wiki/Electric_field + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricField, which is VoltPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of ElectricField + + + + + Represents the smallest possible value of ElectricField + + + + + The of this quantity. + + + + + All units of measurement for the ElectricField quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricField in VoltsPerMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricField from VoltsPerMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricField unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricField within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricField. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricField to another ElectricField with the unit representation . + + A ElectricField with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Inductance is a property of an electrical conductor which opposes a change in current. + + + https://en.wikipedia.org/wiki/Inductance + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricInductance, which is Henry. All conversions go via this value. + + + + + Represents the largest possible value of ElectricInductance + + + + + Represents the smallest possible value of ElectricInductance + + + + + The of this quantity. + + + + + All units of measurement for the ElectricInductance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Henry. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricInductance in Henries. + + + + + Get ElectricInductance in Microhenries. + + + + + Get ElectricInductance in Millihenries. + + + + + Get ElectricInductance in Nanohenries. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricInductance from Henries. + + If value is NaN or Infinity. + + + + Get ElectricInductance from Microhenries. + + If value is NaN or Infinity. + + + + Get ElectricInductance from Millihenries. + + If value is NaN or Infinity. + + + + Get ElectricInductance from Nanohenries. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricInductance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricInductance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricInductance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricInductance to another ElectricInductance with the unit representation . + + A ElectricInductance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The Electric Potential of a system known to use Alternating Current. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricPotentialAc, which is VoltAc. All conversions go via this value. + + + + + Represents the largest possible value of ElectricPotentialAc + + + + + Represents the smallest possible value of ElectricPotentialAc + + + + + The of this quantity. + + + + + All units of measurement for the ElectricPotentialAc quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltAc. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricPotentialAc in KilovoltsAc. + + + + + Get ElectricPotentialAc in MegavoltsAc. + + + + + Get ElectricPotentialAc in MicrovoltsAc. + + + + + Get ElectricPotentialAc in MillivoltsAc. + + + + + Get ElectricPotentialAc in VoltsAc. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricPotentialAc from KilovoltsAc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialAc from MegavoltsAc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialAc from MicrovoltsAc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialAc from MillivoltsAc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialAc from VoltsAc. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricPotentialAc unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricPotentialAc within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricPotentialAc. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricPotentialAc to another ElectricPotentialAc with the unit representation . + + A ElectricPotentialAc with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + ElectricPotential change rate is the ratio of the electric potential change to the time during which the change occurred (value of electric potential changes per unit time). + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricPotentialChangeRate, which is VoltPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of ElectricPotentialChangeRate + + + + + Represents the smallest possible value of ElectricPotentialChangeRate + + + + + The of this quantity. + + + + + All units of measurement for the ElectricPotentialChangeRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricPotentialChangeRate in KilovoltsPerHours. + + + + + Get ElectricPotentialChangeRate in KilovoltsPerMicroseconds. + + + + + Get ElectricPotentialChangeRate in KilovoltsPerMinutes. + + + + + Get ElectricPotentialChangeRate in KilovoltsPerSeconds. + + + + + Get ElectricPotentialChangeRate in MegavoltsPerHours. + + + + + Get ElectricPotentialChangeRate in MegavoltsPerMicroseconds. + + + + + Get ElectricPotentialChangeRate in MegavoltsPerMinutes. + + + + + Get ElectricPotentialChangeRate in MegavoltsPerSeconds. + + + + + Get ElectricPotentialChangeRate in MicrovoltsPerHours. + + + + + Get ElectricPotentialChangeRate in MicrovoltsPerMicroseconds. + + + + + Get ElectricPotentialChangeRate in MicrovoltsPerMinutes. + + + + + Get ElectricPotentialChangeRate in MicrovoltsPerSeconds. + + + + + Get ElectricPotentialChangeRate in MillivoltsPerHours. + + + + + Get ElectricPotentialChangeRate in MillivoltsPerMicroseconds. + + + + + Get ElectricPotentialChangeRate in MillivoltsPerMinutes. + + + + + Get ElectricPotentialChangeRate in MillivoltsPerSeconds. + + + + + Get ElectricPotentialChangeRate in VoltsPerHours. + + + + + Get ElectricPotentialChangeRate in VoltsPerMicroseconds. + + + + + Get ElectricPotentialChangeRate in VoltsPerMinutes. + + + + + Get ElectricPotentialChangeRate in VoltsPerSeconds. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricPotentialChangeRate from KilovoltsPerHours. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from KilovoltsPerMicroseconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from KilovoltsPerMinutes. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from KilovoltsPerSeconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MegavoltsPerHours. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MegavoltsPerMicroseconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MegavoltsPerMinutes. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MegavoltsPerSeconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MicrovoltsPerHours. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MicrovoltsPerMicroseconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MicrovoltsPerMinutes. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MicrovoltsPerSeconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MillivoltsPerHours. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MillivoltsPerMicroseconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MillivoltsPerMinutes. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from MillivoltsPerSeconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from VoltsPerHours. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from VoltsPerMicroseconds. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from VoltsPerMinutes. + + If value is NaN or Infinity. + + + + Get ElectricPotentialChangeRate from VoltsPerSeconds. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricPotentialChangeRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricPotentialChangeRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricPotentialChangeRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricPotentialChangeRate to another ElectricPotentialChangeRate with the unit representation . + + A ElectricPotentialChangeRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The Electric Potential of a system known to use Direct Current. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricPotentialDc, which is VoltDc. All conversions go via this value. + + + + + Represents the largest possible value of ElectricPotentialDc + + + + + Represents the smallest possible value of ElectricPotentialDc + + + + + The of this quantity. + + + + + All units of measurement for the ElectricPotentialDc quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltDc. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricPotentialDc in KilovoltsDc. + + + + + Get ElectricPotentialDc in MegavoltsDc. + + + + + Get ElectricPotentialDc in MicrovoltsDc. + + + + + Get ElectricPotentialDc in MillivoltsDc. + + + + + Get ElectricPotentialDc in VoltsDc. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricPotentialDc from KilovoltsDc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialDc from MegavoltsDc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialDc from MicrovoltsDc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialDc from MillivoltsDc. + + If value is NaN or Infinity. + + + + Get ElectricPotentialDc from VoltsDc. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricPotentialDc unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricPotentialDc within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricPotentialDc. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricPotentialDc to another ElectricPotentialDc with the unit representation . + + A ElectricPotentialDc with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Electrical resistivity (also known as resistivity, specific electrical resistance, or volume resistivity) is a fundamental property that quantifies how strongly a given material opposes the flow of electric current. + + + https://en.wikipedia.org/wiki/Electrical_resistivity_and_conductivity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricResistivity, which is OhmMeter. All conversions go via this value. + + + + + Represents the largest possible value of ElectricResistivity + + + + + Represents the smallest possible value of ElectricResistivity + + + + + The of this quantity. + + + + + All units of measurement for the ElectricResistivity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit OhmMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricResistivity in KiloohmsCentimeter. + + + + + Get ElectricResistivity in KiloohmMeters. + + + + + Get ElectricResistivity in MegaohmsCentimeter. + + + + + Get ElectricResistivity in MegaohmMeters. + + + + + Get ElectricResistivity in MicroohmsCentimeter. + + + + + Get ElectricResistivity in MicroohmMeters. + + + + + Get ElectricResistivity in MilliohmsCentimeter. + + + + + Get ElectricResistivity in MilliohmMeters. + + + + + Get ElectricResistivity in NanoohmsCentimeter. + + + + + Get ElectricResistivity in NanoohmMeters. + + + + + Get ElectricResistivity in OhmsCentimeter. + + + + + Get ElectricResistivity in OhmMeters. + + + + + Get ElectricResistivity in PicoohmsCentimeter. + + + + + Get ElectricResistivity in PicoohmMeters. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricResistivity from KiloohmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from KiloohmMeters. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from MegaohmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from MegaohmMeters. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from MicroohmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from MicroohmMeters. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from MilliohmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from MilliohmMeters. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from NanoohmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from NanoohmMeters. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from OhmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from OhmMeters. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from PicoohmsCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricResistivity from PicoohmMeters. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricResistivity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricResistivity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricResistivity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricResistivity to another ElectricResistivity with the unit representation . + + A ElectricResistivity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In electromagnetism, surface charge density is a measure of the amount of electric charge per surface area. + + + https://en.wikipedia.org/wiki/Charge_density + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ElectricSurfaceChargeDensity, which is CoulombPerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of ElectricSurfaceChargeDensity + + + + + Represents the smallest possible value of ElectricSurfaceChargeDensity + + + + + The of this quantity. + + + + + All units of measurement for the ElectricSurfaceChargeDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit CoulombPerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ElectricSurfaceChargeDensity in CoulombsPerSquareCentimeter. + + + + + Get ElectricSurfaceChargeDensity in CoulombsPerSquareInch. + + + + + Get ElectricSurfaceChargeDensity in CoulombsPerSquareMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ElectricSurfaceChargeDensity from CoulombsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get ElectricSurfaceChargeDensity from CoulombsPerSquareInch. + + If value is NaN or Infinity. + + + + Get ElectricSurfaceChargeDensity from CoulombsPerSquareMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ElectricSurfaceChargeDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ElectricSurfaceChargeDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ElectricSurfaceChargeDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ElectricSurfaceChargeDensity to another ElectricSurfaceChargeDensity with the unit representation . + + A ElectricSurfaceChargeDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The joule, symbol J, is a derived unit of energy, work, or amount of heat in the International System of Units. It is equal to the energy transferred (or work done) when applying a force of one newton through a distance of one metre (1 newton metre or N·m), or in passing an electric current of one ampere through a resistance of one ohm for one second. Many other units of energy are included. Please do not confuse this definition of the calorie with the one colloquially used by the food industry, the large calorie, which is equivalent to 1 kcal. Thermochemical definition of the calorie is used. For BTU, the IT definition is used. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Energy, which is Joule. All conversions go via this value. + + + + + Represents the largest possible value of Energy + + + + + Represents the smallest possible value of Energy + + + + + The of this quantity. + + + + + All units of measurement for the Energy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Joule. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Energy in BritishThermalUnits. + + + + + Get Energy in Calories. + + + + + Get Energy in DecathermsEc. + + + + + Get Energy in DecathermsImperial. + + + + + Get Energy in DecathermsUs. + + + + + Get Energy in ElectronVolts. + + + + + Get Energy in Ergs. + + + + + Get Energy in FootPounds. + + + + + Get Energy in GigabritishThermalUnits. + + + + + Get Energy in GigaelectronVolts. + + + + + Get Energy in Gigajoules. + + + + + Get Energy in GigawattDays. + + + + + Get Energy in GigawattHours. + + + + + Get Energy in HorsepowerHours. + + + + + Get Energy in Joules. + + + + + Get Energy in KilobritishThermalUnits. + + + + + Get Energy in Kilocalories. + + + + + Get Energy in KiloelectronVolts. + + + + + Get Energy in Kilojoules. + + + + + Get Energy in KilowattDays. + + + + + Get Energy in KilowattHours. + + + + + Get Energy in MegabritishThermalUnits. + + + + + Get Energy in Megacalories. + + + + + Get Energy in MegaelectronVolts. + + + + + Get Energy in Megajoules. + + + + + Get Energy in MegawattDays. + + + + + Get Energy in MegawattHours. + + + + + Get Energy in Millijoules. + + + + + Get Energy in TeraelectronVolts. + + + + + Get Energy in TerawattDays. + + + + + Get Energy in TerawattHours. + + + + + Get Energy in ThermsEc. + + + + + Get Energy in ThermsImperial. + + + + + Get Energy in ThermsUs. + + + + + Get Energy in WattDays. + + + + + Get Energy in WattHours. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Energy from BritishThermalUnits. + + If value is NaN or Infinity. + + + + Get Energy from Calories. + + If value is NaN or Infinity. + + + + Get Energy from DecathermsEc. + + If value is NaN or Infinity. + + + + Get Energy from DecathermsImperial. + + If value is NaN or Infinity. + + + + Get Energy from DecathermsUs. + + If value is NaN or Infinity. + + + + Get Energy from ElectronVolts. + + If value is NaN or Infinity. + + + + Get Energy from Ergs. + + If value is NaN or Infinity. + + + + Get Energy from FootPounds. + + If value is NaN or Infinity. + + + + Get Energy from GigabritishThermalUnits. + + If value is NaN or Infinity. + + + + Get Energy from GigaelectronVolts. + + If value is NaN or Infinity. + + + + Get Energy from Gigajoules. + + If value is NaN or Infinity. + + + + Get Energy from GigawattDays. + + If value is NaN or Infinity. + + + + Get Energy from GigawattHours. + + If value is NaN or Infinity. + + + + Get Energy from HorsepowerHours. + + If value is NaN or Infinity. + + + + Get Energy from Joules. + + If value is NaN or Infinity. + + + + Get Energy from KilobritishThermalUnits. + + If value is NaN or Infinity. + + + + Get Energy from Kilocalories. + + If value is NaN or Infinity. + + + + Get Energy from KiloelectronVolts. + + If value is NaN or Infinity. + + + + Get Energy from Kilojoules. + + If value is NaN or Infinity. + + + + Get Energy from KilowattDays. + + If value is NaN or Infinity. + + + + Get Energy from KilowattHours. + + If value is NaN or Infinity. + + + + Get Energy from MegabritishThermalUnits. + + If value is NaN or Infinity. + + + + Get Energy from Megacalories. + + If value is NaN or Infinity. + + + + Get Energy from MegaelectronVolts. + + If value is NaN or Infinity. + + + + Get Energy from Megajoules. + + If value is NaN or Infinity. + + + + Get Energy from MegawattDays. + + If value is NaN or Infinity. + + + + Get Energy from MegawattHours. + + If value is NaN or Infinity. + + + + Get Energy from Millijoules. + + If value is NaN or Infinity. + + + + Get Energy from TeraelectronVolts. + + If value is NaN or Infinity. + + + + Get Energy from TerawattDays. + + If value is NaN or Infinity. + + + + Get Energy from TerawattHours. + + If value is NaN or Infinity. + + + + Get Energy from ThermsEc. + + If value is NaN or Infinity. + + + + Get Energy from ThermsImperial. + + If value is NaN or Infinity. + + + + Get Energy from ThermsUs. + + If value is NaN or Infinity. + + + + Get Energy from WattDays. + + If value is NaN or Infinity. + + + + Get Energy from WattHours. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Energy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Energy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Energy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Energy to another Energy with the unit representation . + + A Energy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Entropy is an important concept in the branch of science known as thermodynamics. The idea of "irreversibility" is central to the understanding of entropy. It is often said that entropy is an expression of the disorder, or randomness of a system, or of our lack of information about it. Entropy is an extensive property. It has the dimension of energy divided by temperature, which has a unit of joules per kelvin (J/K) in the International System of Units + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Entropy, which is JoulePerKelvin. All conversions go via this value. + + + + + Represents the largest possible value of Entropy + + + + + Represents the smallest possible value of Entropy + + + + + The of this quantity. + + + + + All units of measurement for the Entropy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit JoulePerKelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Entropy in CaloriesPerKelvin. + + + + + Get Entropy in JoulesPerDegreeCelsius. + + + + + Get Entropy in JoulesPerKelvin. + + + + + Get Entropy in KilocaloriesPerKelvin. + + + + + Get Entropy in KilojoulesPerDegreeCelsius. + + + + + Get Entropy in KilojoulesPerKelvin. + + + + + Get Entropy in MegajoulesPerKelvin. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Entropy from CaloriesPerKelvin. + + If value is NaN or Infinity. + + + + Get Entropy from JoulesPerDegreeCelsius. + + If value is NaN or Infinity. + + + + Get Entropy from JoulesPerKelvin. + + If value is NaN or Infinity. + + + + Get Entropy from KilocaloriesPerKelvin. + + If value is NaN or Infinity. + + + + Get Entropy from KilojoulesPerDegreeCelsius. + + If value is NaN or Infinity. + + + + Get Entropy from KilojoulesPerKelvin. + + If value is NaN or Infinity. + + + + Get Entropy from MegajoulesPerKelvin. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Entropy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Entropy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Entropy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Entropy to another Entropy with the unit representation . + + A Entropy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Force change rate is the ratio of the force change to the time during which the change occurred (value of force changes per unit time). + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ForceChangeRate, which is NewtonPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of ForceChangeRate + + + + + Represents the smallest possible value of ForceChangeRate + + + + + The of this quantity. + + + + + All units of measurement for the ForceChangeRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ForceChangeRate in CentinewtonsPerSecond. + + + + + Get ForceChangeRate in DecanewtonsPerMinute. + + + + + Get ForceChangeRate in DecanewtonsPerSecond. + + + + + Get ForceChangeRate in DecinewtonsPerSecond. + + + + + Get ForceChangeRate in KilonewtonsPerMinute. + + + + + Get ForceChangeRate in KilonewtonsPerSecond. + + + + + Get ForceChangeRate in KilopoundsForcePerMinute. + + + + + Get ForceChangeRate in KilopoundsForcePerSecond. + + + + + Get ForceChangeRate in MicronewtonsPerSecond. + + + + + Get ForceChangeRate in MillinewtonsPerSecond. + + + + + Get ForceChangeRate in NanonewtonsPerSecond. + + + + + Get ForceChangeRate in NewtonsPerMinute. + + + + + Get ForceChangeRate in NewtonsPerSecond. + + + + + Get ForceChangeRate in PoundsForcePerMinute. + + + + + Get ForceChangeRate in PoundsForcePerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ForceChangeRate from CentinewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from DecanewtonsPerMinute. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from DecanewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from DecinewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from KilonewtonsPerMinute. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from KilonewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from KilopoundsForcePerMinute. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from KilopoundsForcePerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from MicronewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from MillinewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from NanonewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from NewtonsPerMinute. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from NewtonsPerSecond. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from PoundsForcePerMinute. + + If value is NaN or Infinity. + + + + Get ForceChangeRate from PoundsForcePerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ForceChangeRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ForceChangeRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ForceChangeRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ForceChangeRate to another ForceChangeRate with the unit representation . + + A ForceChangeRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The number of occurrences of a repeating event per unit time. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Frequency, which is Hertz. All conversions go via this value. + + + + + Represents the largest possible value of Frequency + + + + + Represents the smallest possible value of Frequency + + + + + The of this quantity. + + + + + All units of measurement for the Frequency quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Hertz. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Frequency in BeatsPerMinute. + + + + + Get Frequency in BUnits. + + + + + Get Frequency in CyclesPerHour. + + + + + Get Frequency in CyclesPerMinute. + + + + + Get Frequency in Gigahertz. + + + + + Get Frequency in Hertz. + + + + + Get Frequency in Kilohertz. + + + + + Get Frequency in Megahertz. + + + + + Get Frequency in PerSecond. + + + + + Get Frequency in RadiansPerSecond. + + + + + Get Frequency in Terahertz. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Frequency from BeatsPerMinute. + + If value is NaN or Infinity. + + + + Get Frequency from BUnits. + + If value is NaN or Infinity. + + + + Get Frequency from CyclesPerHour. + + If value is NaN or Infinity. + + + + Get Frequency from CyclesPerMinute. + + If value is NaN or Infinity. + + + + Get Frequency from Gigahertz. + + If value is NaN or Infinity. + + + + Get Frequency from Hertz. + + If value is NaN or Infinity. + + + + Get Frequency from Kilohertz. + + If value is NaN or Infinity. + + + + Get Frequency from Megahertz. + + If value is NaN or Infinity. + + + + Get Frequency from PerSecond. + + If value is NaN or Infinity. + + + + Get Frequency from RadiansPerSecond. + + If value is NaN or Infinity. + + + + Get Frequency from Terahertz. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Frequency unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Frequency within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Frequency. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Frequency to another Frequency with the unit representation . + + A Frequency with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Fuel efficiency is a form of thermal efficiency, meaning the ratio from effort to result of a process that converts chemical potential energy contained in a carrier (fuel) into kinetic energy or work. Fuel economy is stated as "fuel consumption" in liters per 100 kilometers (L/100 km). In countries using non-metric system, fuel economy is expressed in miles per gallon (mpg) (imperial galon or US galon). + + + https://en.wikipedia.org/wiki/Fuel_efficiency + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of FuelEfficiency, which is LiterPer100Kilometers. All conversions go via this value. + + + + + Represents the largest possible value of FuelEfficiency + + + + + Represents the smallest possible value of FuelEfficiency + + + + + The of this quantity. + + + + + All units of measurement for the FuelEfficiency quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit LiterPer100Kilometers. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get FuelEfficiency in KilometersPerLiters. + + + + + Get FuelEfficiency in LitersPer100Kilometers. + + + + + Get FuelEfficiency in MilesPerUkGallon. + + + + + Get FuelEfficiency in MilesPerUsGallon. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get FuelEfficiency from KilometersPerLiters. + + If value is NaN or Infinity. + + + + Get FuelEfficiency from LitersPer100Kilometers. + + If value is NaN or Infinity. + + + + Get FuelEfficiency from MilesPerUkGallon. + + If value is NaN or Infinity. + + + + Get FuelEfficiency from MilesPerUsGallon. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + FuelEfficiency unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another FuelEfficiency within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current FuelEfficiency. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this FuelEfficiency to another FuelEfficiency with the unit representation . + + A FuelEfficiency with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The heat transfer coefficient or film coefficient, or film effectiveness, in thermodynamics and in mechanics is the proportionality constant between the heat flux and the thermodynamic driving force for the flow of heat (i.e., the temperature difference, ΔT) + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of HeatTransferCoefficient, which is WattPerSquareMeterKelvin. All conversions go via this value. + + + + + Represents the largest possible value of HeatTransferCoefficient + + + + + Represents the smallest possible value of HeatTransferCoefficient + + + + + The of this quantity. + + + + + All units of measurement for the HeatTransferCoefficient quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit WattPerSquareMeterKelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get HeatTransferCoefficient in BtusPerSquareFootDegreeFahrenheit. + + + + + Get HeatTransferCoefficient in WattsPerSquareMeterCelsius. + + + + + Get HeatTransferCoefficient in WattsPerSquareMeterKelvin. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get HeatTransferCoefficient from BtusPerSquareFootDegreeFahrenheit. + + If value is NaN or Infinity. + + + + Get HeatTransferCoefficient from WattsPerSquareMeterCelsius. + + If value is NaN or Infinity. + + + + Get HeatTransferCoefficient from WattsPerSquareMeterKelvin. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + HeatTransferCoefficient unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another HeatTransferCoefficient within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current HeatTransferCoefficient. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this HeatTransferCoefficient to another HeatTransferCoefficient with the unit representation . + + A HeatTransferCoefficient with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In photometry, illuminance is the total luminous flux incident on a surface, per unit area. + + + https://en.wikipedia.org/wiki/Illuminance + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Illuminance, which is Lux. All conversions go via this value. + + + + + Represents the largest possible value of Illuminance + + + + + Represents the smallest possible value of Illuminance + + + + + The of this quantity. + + + + + All units of measurement for the Illuminance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Lux. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Illuminance in Kilolux. + + + + + Get Illuminance in Lux. + + + + + Get Illuminance in Megalux. + + + + + Get Illuminance in Millilux. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Illuminance from Kilolux. + + If value is NaN or Infinity. + + + + Get Illuminance from Lux. + + If value is NaN or Infinity. + + + + Get Illuminance from Megalux. + + If value is NaN or Infinity. + + + + Get Illuminance from Millilux. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Illuminance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Illuminance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Illuminance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Illuminance to another Illuminance with the unit representation . + + A Illuminance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In computing and telecommunications, a unit of information is the capacity of some standard data storage system or communication channel, used to measure the capacities of other systems and channels. In information theory, units of information are also used to measure the information contents or entropy of random variables. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Information, which is Bit. All conversions go via this value. + + + + + Represents the largest possible value of Information + + + + + Represents the smallest possible value of Information + + + + + The of this quantity. + + + + + All units of measurement for the Information quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Bit. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Information in Bits. + + + + + Get Information in Bytes. + + + + + Get Information in Exabits. + + + + + Get Information in Exabytes. + + + + + Get Information in Exbibits. + + + + + Get Information in Exbibytes. + + + + + Get Information in Gibibits. + + + + + Get Information in Gibibytes. + + + + + Get Information in Gigabits. + + + + + Get Information in Gigabytes. + + + + + Get Information in Kibibits. + + + + + Get Information in Kibibytes. + + + + + Get Information in Kilobits. + + + + + Get Information in Kilobytes. + + + + + Get Information in Mebibits. + + + + + Get Information in Mebibytes. + + + + + Get Information in Megabits. + + + + + Get Information in Megabytes. + + + + + Get Information in Pebibits. + + + + + Get Information in Pebibytes. + + + + + Get Information in Petabits. + + + + + Get Information in Petabytes. + + + + + Get Information in Tebibits. + + + + + Get Information in Tebibytes. + + + + + Get Information in Terabits. + + + + + Get Information in Terabytes. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Information from Bits. + + If value is NaN or Infinity. + + + + Get Information from Bytes. + + If value is NaN or Infinity. + + + + Get Information from Exabits. + + If value is NaN or Infinity. + + + + Get Information from Exabytes. + + If value is NaN or Infinity. + + + + Get Information from Exbibits. + + If value is NaN or Infinity. + + + + Get Information from Exbibytes. + + If value is NaN or Infinity. + + + + Get Information from Gibibits. + + If value is NaN or Infinity. + + + + Get Information from Gibibytes. + + If value is NaN or Infinity. + + + + Get Information from Gigabits. + + If value is NaN or Infinity. + + + + Get Information from Gigabytes. + + If value is NaN or Infinity. + + + + Get Information from Kibibits. + + If value is NaN or Infinity. + + + + Get Information from Kibibytes. + + If value is NaN or Infinity. + + + + Get Information from Kilobits. + + If value is NaN or Infinity. + + + + Get Information from Kilobytes. + + If value is NaN or Infinity. + + + + Get Information from Mebibits. + + If value is NaN or Infinity. + + + + Get Information from Mebibytes. + + If value is NaN or Infinity. + + + + Get Information from Megabits. + + If value is NaN or Infinity. + + + + Get Information from Megabytes. + + If value is NaN or Infinity. + + + + Get Information from Pebibits. + + If value is NaN or Infinity. + + + + Get Information from Pebibytes. + + If value is NaN or Infinity. + + + + Get Information from Petabits. + + If value is NaN or Infinity. + + + + Get Information from Petabytes. + + If value is NaN or Infinity. + + + + Get Information from Tebibits. + + If value is NaN or Infinity. + + + + Get Information from Tebibytes. + + If value is NaN or Infinity. + + + + Get Information from Terabits. + + If value is NaN or Infinity. + + + + Get Information from Terabytes. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Information unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Information within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Information. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Information to another Information with the unit representation . + + A Information with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Irradiance is the intensity of ultraviolet (UV) or visible light incident on a surface. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Irradiance, which is WattPerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of Irradiance + + + + + Represents the smallest possible value of Irradiance + + + + + The of this quantity. + + + + + All units of measurement for the Irradiance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit WattPerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Irradiance in KilowattsPerSquareCentimeter. + + + + + Get Irradiance in KilowattsPerSquareMeter. + + + + + Get Irradiance in MegawattsPerSquareCentimeter. + + + + + Get Irradiance in MegawattsPerSquareMeter. + + + + + Get Irradiance in MicrowattsPerSquareCentimeter. + + + + + Get Irradiance in MicrowattsPerSquareMeter. + + + + + Get Irradiance in MilliwattsPerSquareCentimeter. + + + + + Get Irradiance in MilliwattsPerSquareMeter. + + + + + Get Irradiance in NanowattsPerSquareCentimeter. + + + + + Get Irradiance in NanowattsPerSquareMeter. + + + + + Get Irradiance in PicowattsPerSquareCentimeter. + + + + + Get Irradiance in PicowattsPerSquareMeter. + + + + + Get Irradiance in WattsPerSquareCentimeter. + + + + + Get Irradiance in WattsPerSquareMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Irradiance from KilowattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from KilowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiance from MegawattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from MegawattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiance from MicrowattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from MicrowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiance from MilliwattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from MilliwattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiance from NanowattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from NanowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiance from PicowattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from PicowattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiance from WattsPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiance from WattsPerSquareMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Irradiance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Irradiance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Irradiance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Irradiance to another Irradiance with the unit representation . + + A Irradiance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Irradiation is the process by which an object is exposed to radiation. The exposure can originate from various sources, including natural sources. + + + https://en.wikipedia.org/wiki/Irradiation + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Irradiation, which is JoulePerSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of Irradiation + + + + + Represents the smallest possible value of Irradiation + + + + + The of this quantity. + + + + + All units of measurement for the Irradiation quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit JoulePerSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Irradiation in JoulesPerSquareCentimeter. + + + + + Get Irradiation in JoulesPerSquareMeter. + + + + + Get Irradiation in JoulesPerSquareMillimeter. + + + + + Get Irradiation in KilojoulesPerSquareMeter. + + + + + Get Irradiation in KilowattHoursPerSquareMeter. + + + + + Get Irradiation in MillijoulesPerSquareCentimeter. + + + + + Get Irradiation in WattHoursPerSquareMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Irradiation from JoulesPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiation from JoulesPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiation from JoulesPerSquareMillimeter. + + If value is NaN or Infinity. + + + + Get Irradiation from KilojoulesPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiation from KilowattHoursPerSquareMeter. + + If value is NaN or Infinity. + + + + Get Irradiation from MillijoulesPerSquareCentimeter. + + If value is NaN or Infinity. + + + + Get Irradiation from WattHoursPerSquareMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Irradiation unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Irradiation within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Irradiation. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Irradiation to another Irradiation with the unit representation . + + A Irradiation with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The Linear Power Density of a substance is its power per unit length. The term linear density is most often used when describing the characteristics of one-dimensional objects, although linear density can also be used to describe the density of a three-dimensional quantity along one particular dimension. + + + http://en.wikipedia.org/wiki/Linear_density + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of LinearPowerDensity, which is WattPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of LinearPowerDensity + + + + + Represents the smallest possible value of LinearPowerDensity + + + + + The of this quantity. + + + + + All units of measurement for the LinearPowerDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit WattPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get LinearPowerDensity in GigawattsPerCentimeter. + + + + + Get LinearPowerDensity in GigawattsPerFoot. + + + + + Get LinearPowerDensity in GigawattsPerInch. + + + + + Get LinearPowerDensity in GigawattsPerMeter. + + + + + Get LinearPowerDensity in GigawattsPerMillimeter. + + + + + Get LinearPowerDensity in KilowattsPerCentimeter. + + + + + Get LinearPowerDensity in KilowattsPerFoot. + + + + + Get LinearPowerDensity in KilowattsPerInch. + + + + + Get LinearPowerDensity in KilowattsPerMeter. + + + + + Get LinearPowerDensity in KilowattsPerMillimeter. + + + + + Get LinearPowerDensity in MegawattsPerCentimeter. + + + + + Get LinearPowerDensity in MegawattsPerFoot. + + + + + Get LinearPowerDensity in MegawattsPerInch. + + + + + Get LinearPowerDensity in MegawattsPerMeter. + + + + + Get LinearPowerDensity in MegawattsPerMillimeter. + + + + + Get LinearPowerDensity in MilliwattsPerCentimeter. + + + + + Get LinearPowerDensity in MilliwattsPerFoot. + + + + + Get LinearPowerDensity in MilliwattsPerInch. + + + + + Get LinearPowerDensity in MilliwattsPerMeter. + + + + + Get LinearPowerDensity in MilliwattsPerMillimeter. + + + + + Get LinearPowerDensity in WattsPerCentimeter. + + + + + Get LinearPowerDensity in WattsPerFoot. + + + + + Get LinearPowerDensity in WattsPerInch. + + + + + Get LinearPowerDensity in WattsPerMeter. + + + + + Get LinearPowerDensity in WattsPerMillimeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get LinearPowerDensity from GigawattsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from GigawattsPerFoot. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from GigawattsPerInch. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from GigawattsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from GigawattsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from KilowattsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from KilowattsPerFoot. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from KilowattsPerInch. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from KilowattsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from KilowattsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MegawattsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MegawattsPerFoot. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MegawattsPerInch. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MegawattsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MegawattsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MilliwattsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MilliwattsPerFoot. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MilliwattsPerInch. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MilliwattsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from MilliwattsPerMillimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from WattsPerCentimeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from WattsPerFoot. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from WattsPerInch. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from WattsPerMeter. + + If value is NaN or Infinity. + + + + Get LinearPowerDensity from WattsPerMillimeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + LinearPowerDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another LinearPowerDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current LinearPowerDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this LinearPowerDensity to another LinearPowerDensity with the unit representation . + + A LinearPowerDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Luminosity is an absolute measure of radiated electromagnetic power (light), the radiant power emitted by a light-emitting object. + + + https://en.wikipedia.org/wiki/Luminosity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Luminosity, which is Watt. All conversions go via this value. + + + + + Represents the largest possible value of Luminosity + + + + + Represents the smallest possible value of Luminosity + + + + + The of this quantity. + + + + + All units of measurement for the Luminosity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Watt. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Luminosity in Decawatts. + + + + + Get Luminosity in Deciwatts. + + + + + Get Luminosity in Femtowatts. + + + + + Get Luminosity in Gigawatts. + + + + + Get Luminosity in Kilowatts. + + + + + Get Luminosity in Megawatts. + + + + + Get Luminosity in Microwatts. + + + + + Get Luminosity in Milliwatts. + + + + + Get Luminosity in Nanowatts. + + + + + Get Luminosity in Petawatts. + + + + + Get Luminosity in Picowatts. + + + + + Get Luminosity in SolarLuminosities. + + + + + Get Luminosity in Terawatts. + + + + + Get Luminosity in Watts. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Luminosity from Decawatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Deciwatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Femtowatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Gigawatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Kilowatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Megawatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Microwatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Milliwatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Nanowatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Petawatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Picowatts. + + If value is NaN or Infinity. + + + + Get Luminosity from SolarLuminosities. + + If value is NaN or Infinity. + + + + Get Luminosity from Terawatts. + + If value is NaN or Infinity. + + + + Get Luminosity from Watts. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Luminosity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Luminosity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Luminosity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Luminosity to another Luminosity with the unit representation . + + A Luminosity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In photometry, luminous flux or luminous power is the measure of the perceived power of light. + + + https://en.wikipedia.org/wiki/Luminous_flux + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of LuminousFlux, which is Lumen. All conversions go via this value. + + + + + Represents the largest possible value of LuminousFlux + + + + + Represents the smallest possible value of LuminousFlux + + + + + The of this quantity. + + + + + All units of measurement for the LuminousFlux quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Lumen. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get LuminousFlux in Lumens. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get LuminousFlux from Lumens. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + LuminousFlux unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another LuminousFlux within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current LuminousFlux. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this LuminousFlux to another LuminousFlux with the unit representation . + + A LuminousFlux with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In photometry, luminous intensity is a measure of the wavelength-weighted power emitted by a light source in a particular direction per unit solid angle, based on the luminosity function, a standardized model of the sensitivity of the human eye. + + + https://en.wikipedia.org/wiki/Luminous_intensity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of LuminousIntensity, which is Candela. All conversions go via this value. + + + + + Represents the largest possible value of LuminousIntensity + + + + + Represents the smallest possible value of LuminousIntensity + + + + + The of this quantity. + + + + + All units of measurement for the LuminousIntensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Candela. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get LuminousIntensity in Candela. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get LuminousIntensity from Candela. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + LuminousIntensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another LuminousIntensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current LuminousIntensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this LuminousIntensity to another LuminousIntensity with the unit representation . + + A LuminousIntensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A magnetic field is a force field that is created by moving electric charges (electric currents) and magnetic dipoles, and exerts a force on other nearby moving charges and magnetic dipoles. + + + https://en.wikipedia.org/wiki/Magnetic_field + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MagneticField, which is Tesla. All conversions go via this value. + + + + + Represents the largest possible value of MagneticField + + + + + Represents the smallest possible value of MagneticField + + + + + The of this quantity. + + + + + All units of measurement for the MagneticField quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Tesla. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MagneticField in Gausses. + + + + + Get MagneticField in Microteslas. + + + + + Get MagneticField in Milligausses. + + + + + Get MagneticField in Milliteslas. + + + + + Get MagneticField in Nanoteslas. + + + + + Get MagneticField in Teslas. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MagneticField from Gausses. + + If value is NaN or Infinity. + + + + Get MagneticField from Microteslas. + + If value is NaN or Infinity. + + + + Get MagneticField from Milligausses. + + If value is NaN or Infinity. + + + + Get MagneticField from Milliteslas. + + If value is NaN or Infinity. + + + + Get MagneticField from Nanoteslas. + + If value is NaN or Infinity. + + + + Get MagneticField from Teslas. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MagneticField unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MagneticField within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MagneticField. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MagneticField to another MagneticField with the unit representation . + + A MagneticField with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In physics, specifically electromagnetism, the magnetic flux through a surface is the surface integral of the normal component of the magnetic field B passing through that surface. + + + https://en.wikipedia.org/wiki/Magnetic_flux + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MagneticFlux, which is Weber. All conversions go via this value. + + + + + Represents the largest possible value of MagneticFlux + + + + + Represents the smallest possible value of MagneticFlux + + + + + The of this quantity. + + + + + All units of measurement for the MagneticFlux quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Weber. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MagneticFlux in Webers. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MagneticFlux from Webers. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MagneticFlux unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MagneticFlux within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MagneticFlux. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MagneticFlux to another MagneticFlux with the unit representation . + + A MagneticFlux with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In classical electromagnetism, magnetization is the vector field that expresses the density of permanent or induced magnetic dipole moments in a magnetic material. + + + https://en.wikipedia.org/wiki/Magnetization + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Magnetization, which is AmperePerMeter. All conversions go via this value. + + + + + Represents the largest possible value of Magnetization + + + + + Represents the smallest possible value of Magnetization + + + + + The of this quantity. + + + + + All units of measurement for the Magnetization quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit AmperePerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Magnetization in AmperesPerMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Magnetization from AmperesPerMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Magnetization unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Magnetization within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Magnetization. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Magnetization to another Magnetization with the unit representation . + + A Magnetization with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A property of body reflects how its mass is distributed with regard to an axis. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MassMomentOfInertia, which is KilogramSquareMeter. All conversions go via this value. + + + + + Represents the largest possible value of MassMomentOfInertia + + + + + Represents the smallest possible value of MassMomentOfInertia + + + + + The of this quantity. + + + + + All units of measurement for the MassMomentOfInertia quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramSquareMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MassMomentOfInertia in GramSquareCentimeters. + + + + + Get MassMomentOfInertia in GramSquareDecimeters. + + + + + Get MassMomentOfInertia in GramSquareMeters. + + + + + Get MassMomentOfInertia in GramSquareMillimeters. + + + + + Get MassMomentOfInertia in KilogramSquareCentimeters. + + + + + Get MassMomentOfInertia in KilogramSquareDecimeters. + + + + + Get MassMomentOfInertia in KilogramSquareMeters. + + + + + Get MassMomentOfInertia in KilogramSquareMillimeters. + + + + + Get MassMomentOfInertia in KilotonneSquareCentimeters. + + + + + Get MassMomentOfInertia in KilotonneSquareDecimeters. + + + + + Get MassMomentOfInertia in KilotonneSquareMeters. + + + + + Get MassMomentOfInertia in KilotonneSquareMilimeters. + + + + + Get MassMomentOfInertia in MegatonneSquareCentimeters. + + + + + Get MassMomentOfInertia in MegatonneSquareDecimeters. + + + + + Get MassMomentOfInertia in MegatonneSquareMeters. + + + + + Get MassMomentOfInertia in MegatonneSquareMilimeters. + + + + + Get MassMomentOfInertia in MilligramSquareCentimeters. + + + + + Get MassMomentOfInertia in MilligramSquareDecimeters. + + + + + Get MassMomentOfInertia in MilligramSquareMeters. + + + + + Get MassMomentOfInertia in MilligramSquareMillimeters. + + + + + Get MassMomentOfInertia in PoundSquareFeet. + + + + + Get MassMomentOfInertia in PoundSquareInches. + + + + + Get MassMomentOfInertia in SlugSquareFeet. + + + + + Get MassMomentOfInertia in SlugSquareInches. + + + + + Get MassMomentOfInertia in TonneSquareCentimeters. + + + + + Get MassMomentOfInertia in TonneSquareDecimeters. + + + + + Get MassMomentOfInertia in TonneSquareMeters. + + + + + Get MassMomentOfInertia in TonneSquareMilimeters. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MassMomentOfInertia from GramSquareCentimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from GramSquareDecimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from GramSquareMeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from GramSquareMillimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilogramSquareCentimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilogramSquareDecimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilogramSquareMeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilogramSquareMillimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilotonneSquareCentimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilotonneSquareDecimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilotonneSquareMeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from KilotonneSquareMilimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MegatonneSquareCentimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MegatonneSquareDecimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MegatonneSquareMeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MegatonneSquareMilimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MilligramSquareCentimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MilligramSquareDecimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MilligramSquareMeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from MilligramSquareMillimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from PoundSquareFeet. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from PoundSquareInches. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from SlugSquareFeet. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from SlugSquareInches. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from TonneSquareCentimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from TonneSquareDecimeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from TonneSquareMeters. + + If value is NaN or Infinity. + + + + Get MassMomentOfInertia from TonneSquareMilimeters. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MassMomentOfInertia unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MassMomentOfInertia within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MassMomentOfInertia. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MassMomentOfInertia to another MassMomentOfInertia with the unit representation . + + A MassMomentOfInertia with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Molar energy is the amount of energy stored in 1 mole of a substance. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MolarEnergy, which is JoulePerMole. All conversions go via this value. + + + + + Represents the largest possible value of MolarEnergy + + + + + Represents the smallest possible value of MolarEnergy + + + + + The of this quantity. + + + + + All units of measurement for the MolarEnergy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit JoulePerMole. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MolarEnergy in JoulesPerMole. + + + + + Get MolarEnergy in KilojoulesPerMole. + + + + + Get MolarEnergy in MegajoulesPerMole. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MolarEnergy from JoulesPerMole. + + If value is NaN or Infinity. + + + + Get MolarEnergy from KilojoulesPerMole. + + If value is NaN or Infinity. + + + + Get MolarEnergy from MegajoulesPerMole. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MolarEnergy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MolarEnergy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MolarEnergy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MolarEnergy to another MolarEnergy with the unit representation . + + A MolarEnergy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Molar entropy is amount of energy required to increase temperature of 1 mole substance by 1 Kelvin. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MolarEntropy, which is JoulePerMoleKelvin. All conversions go via this value. + + + + + Represents the largest possible value of MolarEntropy + + + + + Represents the smallest possible value of MolarEntropy + + + + + The of this quantity. + + + + + All units of measurement for the MolarEntropy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit JoulePerMoleKelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MolarEntropy in JoulesPerMoleKelvin. + + + + + Get MolarEntropy in KilojoulesPerMoleKelvin. + + + + + Get MolarEntropy in MegajoulesPerMoleKelvin. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MolarEntropy from JoulesPerMoleKelvin. + + If value is NaN or Infinity. + + + + Get MolarEntropy from KilojoulesPerMoleKelvin. + + If value is NaN or Infinity. + + + + Get MolarEntropy from MegajoulesPerMoleKelvin. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MolarEntropy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MolarEntropy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MolarEntropy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MolarEntropy to another MolarEntropy with the unit representation . + + A MolarEntropy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In chemistry, the molar mass M is a physical property defined as the mass of a given substance (chemical element or chemical compound) divided by the amount of substance. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of MolarMass, which is KilogramPerMole. All conversions go via this value. + + + + + Represents the largest possible value of MolarMass + + + + + Represents the smallest possible value of MolarMass + + + + + The of this quantity. + + + + + All units of measurement for the MolarMass quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit KilogramPerMole. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get MolarMass in CentigramsPerMole. + + + + + Get MolarMass in DecagramsPerMole. + + + + + Get MolarMass in DecigramsPerMole. + + + + + Get MolarMass in GramsPerMole. + + + + + Get MolarMass in HectogramsPerMole. + + + + + Get MolarMass in KilogramsPerMole. + + + + + Get MolarMass in KilopoundsPerMole. + + + + + Get MolarMass in MegapoundsPerMole. + + + + + Get MolarMass in MicrogramsPerMole. + + + + + Get MolarMass in MilligramsPerMole. + + + + + Get MolarMass in NanogramsPerMole. + + + + + Get MolarMass in PoundsPerMole. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get MolarMass from CentigramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from DecagramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from DecigramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from GramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from HectogramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from KilogramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from KilopoundsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from MegapoundsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from MicrogramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from MilligramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from NanogramsPerMole. + + If value is NaN or Infinity. + + + + Get MolarMass from PoundsPerMole. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + MolarMass unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another MolarMass within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current MolarMass. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this MolarMass to another MolarMass with the unit representation . + + A MolarMass with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In electromagnetism, permeability is the measure of the ability of a material to support the formation of a magnetic field within itself. + + + https://en.wikipedia.org/wiki/Permeability_(electromagnetism) + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Permeability, which is HenryPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of Permeability + + + + + Represents the smallest possible value of Permeability + + + + + The of this quantity. + + + + + All units of measurement for the Permeability quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit HenryPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Permeability in HenriesPerMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Permeability from HenriesPerMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Permeability unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Permeability within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Permeability. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Permeability to another Permeability with the unit representation . + + A Permeability with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In electromagnetism, permittivity is the measure of resistance that is encountered when forming an electric field in a particular medium. + + + https://en.wikipedia.org/wiki/Permittivity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Permittivity, which is FaradPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of Permittivity + + + + + Represents the smallest possible value of Permittivity + + + + + The of this quantity. + + + + + All units of measurement for the Permittivity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit FaradPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Permittivity in FaradsPerMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Permittivity from FaradsPerMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Permittivity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Permittivity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Permittivity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Permittivity to another Permittivity with the unit representation . + + A Permittivity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The amount of power in a volume. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of PowerDensity, which is WattPerCubicMeter. All conversions go via this value. + + + + + Represents the largest possible value of PowerDensity + + + + + Represents the smallest possible value of PowerDensity + + + + + The of this quantity. + + + + + All units of measurement for the PowerDensity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit WattPerCubicMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get PowerDensity in DecawattsPerCubicFoot. + + + + + Get PowerDensity in DecawattsPerCubicInch. + + + + + Get PowerDensity in DecawattsPerCubicMeter. + + + + + Get PowerDensity in DecawattsPerLiter. + + + + + Get PowerDensity in DeciwattsPerCubicFoot. + + + + + Get PowerDensity in DeciwattsPerCubicInch. + + + + + Get PowerDensity in DeciwattsPerCubicMeter. + + + + + Get PowerDensity in DeciwattsPerLiter. + + + + + Get PowerDensity in GigawattsPerCubicFoot. + + + + + Get PowerDensity in GigawattsPerCubicInch. + + + + + Get PowerDensity in GigawattsPerCubicMeter. + + + + + Get PowerDensity in GigawattsPerLiter. + + + + + Get PowerDensity in KilowattsPerCubicFoot. + + + + + Get PowerDensity in KilowattsPerCubicInch. + + + + + Get PowerDensity in KilowattsPerCubicMeter. + + + + + Get PowerDensity in KilowattsPerLiter. + + + + + Get PowerDensity in MegawattsPerCubicFoot. + + + + + Get PowerDensity in MegawattsPerCubicInch. + + + + + Get PowerDensity in MegawattsPerCubicMeter. + + + + + Get PowerDensity in MegawattsPerLiter. + + + + + Get PowerDensity in MicrowattsPerCubicFoot. + + + + + Get PowerDensity in MicrowattsPerCubicInch. + + + + + Get PowerDensity in MicrowattsPerCubicMeter. + + + + + Get PowerDensity in MicrowattsPerLiter. + + + + + Get PowerDensity in MilliwattsPerCubicFoot. + + + + + Get PowerDensity in MilliwattsPerCubicInch. + + + + + Get PowerDensity in MilliwattsPerCubicMeter. + + + + + Get PowerDensity in MilliwattsPerLiter. + + + + + Get PowerDensity in NanowattsPerCubicFoot. + + + + + Get PowerDensity in NanowattsPerCubicInch. + + + + + Get PowerDensity in NanowattsPerCubicMeter. + + + + + Get PowerDensity in NanowattsPerLiter. + + + + + Get PowerDensity in PicowattsPerCubicFoot. + + + + + Get PowerDensity in PicowattsPerCubicInch. + + + + + Get PowerDensity in PicowattsPerCubicMeter. + + + + + Get PowerDensity in PicowattsPerLiter. + + + + + Get PowerDensity in TerawattsPerCubicFoot. + + + + + Get PowerDensity in TerawattsPerCubicInch. + + + + + Get PowerDensity in TerawattsPerCubicMeter. + + + + + Get PowerDensity in TerawattsPerLiter. + + + + + Get PowerDensity in WattsPerCubicFoot. + + + + + Get PowerDensity in WattsPerCubicInch. + + + + + Get PowerDensity in WattsPerCubicMeter. + + + + + Get PowerDensity in WattsPerLiter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get PowerDensity from DecawattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from DecawattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from DecawattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from DecawattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from DeciwattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from DeciwattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from DeciwattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from DeciwattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from GigawattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from GigawattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from GigawattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from GigawattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from KilowattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from KilowattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from KilowattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from KilowattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from MegawattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from MegawattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from MegawattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from MegawattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from MicrowattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from MicrowattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from MicrowattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from MicrowattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from MilliwattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from MilliwattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from MilliwattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from MilliwattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from NanowattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from NanowattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from NanowattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from NanowattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from PicowattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from PicowattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from PicowattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from PicowattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from TerawattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from TerawattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from TerawattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from TerawattsPerLiter. + + If value is NaN or Infinity. + + + + Get PowerDensity from WattsPerCubicFoot. + + If value is NaN or Infinity. + + + + Get PowerDensity from WattsPerCubicInch. + + If value is NaN or Infinity. + + + + Get PowerDensity from WattsPerCubicMeter. + + If value is NaN or Infinity. + + + + Get PowerDensity from WattsPerLiter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + PowerDensity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another PowerDensity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current PowerDensity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this PowerDensity to another PowerDensity with the unit representation . + + A PowerDensity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Pressure change rate is the ratio of the pressure change to the time during which the change occurred (value of pressure changes per unit time). + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of PressureChangeRate, which is PascalPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of PressureChangeRate + + + + + Represents the smallest possible value of PressureChangeRate + + + + + The of this quantity. + + + + + All units of measurement for the PressureChangeRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit PascalPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get PressureChangeRate in AtmospheresPerSecond. + + + + + Get PressureChangeRate in KilopascalsPerMinute. + + + + + Get PressureChangeRate in KilopascalsPerSecond. + + + + + Get PressureChangeRate in KilopoundsForcePerSquareInchPerMinute. + + + + + Get PressureChangeRate in KilopoundsForcePerSquareInchPerSecond. + + + + + Get PressureChangeRate in MegapascalsPerMinute. + + + + + Get PressureChangeRate in MegapascalsPerSecond. + + + + + Get PressureChangeRate in MegapoundsForcePerSquareInchPerMinute. + + + + + Get PressureChangeRate in MegapoundsForcePerSquareInchPerSecond. + + + + + Get PressureChangeRate in PascalsPerMinute. + + + + + Get PressureChangeRate in PascalsPerSecond. + + + + + Get PressureChangeRate in PoundsForcePerSquareInchPerMinute. + + + + + Get PressureChangeRate in PoundsForcePerSquareInchPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get PressureChangeRate from AtmospheresPerSecond. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from KilopascalsPerMinute. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from KilopascalsPerSecond. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from KilopoundsForcePerSquareInchPerMinute. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from KilopoundsForcePerSquareInchPerSecond. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from MegapascalsPerMinute. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from MegapascalsPerSecond. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from MegapoundsForcePerSquareInchPerMinute. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from MegapoundsForcePerSquareInchPerSecond. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from PascalsPerMinute. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from PascalsPerSecond. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from PoundsForcePerSquareInchPerMinute. + + If value is NaN or Infinity. + + + + Get PressureChangeRate from PoundsForcePerSquareInchPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + PressureChangeRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another PressureChangeRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current PressureChangeRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this PressureChangeRate to another PressureChangeRate with the unit representation . + + A PressureChangeRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In mathematics, a ratio is a relationship between two numbers of the same kind (e.g., objects, persons, students, spoonfuls, units of whatever identical dimension), usually expressed as "a to b" or a:b, sometimes expressed arithmetically as a dimensionless quotient of the two that explicitly indicates how many times the first number contains the second (not necessarily an integer). + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Ratio, which is DecimalFraction. All conversions go via this value. + + + + + Represents the largest possible value of Ratio + + + + + Represents the smallest possible value of Ratio + + + + + The of this quantity. + + + + + All units of measurement for the Ratio quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DecimalFraction. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Ratio in DecimalFractions. + + + + + Get Ratio in PartsPerBillion. + + + + + Get Ratio in PartsPerMillion. + + + + + Get Ratio in PartsPerThousand. + + + + + Get Ratio in PartsPerTrillion. + + + + + Get Ratio in Percent. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Ratio from DecimalFractions. + + If value is NaN or Infinity. + + + + Get Ratio from PartsPerBillion. + + If value is NaN or Infinity. + + + + Get Ratio from PartsPerMillion. + + If value is NaN or Infinity. + + + + Get Ratio from PartsPerThousand. + + If value is NaN or Infinity. + + + + Get Ratio from PartsPerTrillion. + + If value is NaN or Infinity. + + + + Get Ratio from Percent. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Ratio unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Ratio within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Ratio. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Ratio to another Ratio with the unit representation . + + A Ratio with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The change in ratio per unit of time. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of RatioChangeRate, which is DecimalFractionPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of RatioChangeRate + + + + + Represents the smallest possible value of RatioChangeRate + + + + + The of this quantity. + + + + + All units of measurement for the RatioChangeRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DecimalFractionPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get RatioChangeRate in DecimalFractionsPerSecond. + + + + + Get RatioChangeRate in PercentsPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get RatioChangeRate from DecimalFractionsPerSecond. + + If value is NaN or Infinity. + + + + Get RatioChangeRate from PercentsPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + RatioChangeRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another RatioChangeRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current RatioChangeRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this RatioChangeRate to another RatioChangeRate with the unit representation . + + A RatioChangeRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The Volt-ampere reactive hour (expressed as varh) is the reactive power of one Volt-ampere reactive produced in one hour. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ReactiveEnergy, which is VoltampereReactiveHour. All conversions go via this value. + + + + + Represents the largest possible value of ReactiveEnergy + + + + + Represents the smallest possible value of ReactiveEnergy + + + + + The of this quantity. + + + + + All units of measurement for the ReactiveEnergy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltampereReactiveHour. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ReactiveEnergy in KilovoltampereReactiveHours. + + + + + Get ReactiveEnergy in MegavoltampereReactiveHours. + + + + + Get ReactiveEnergy in VoltampereReactiveHours. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ReactiveEnergy from KilovoltampereReactiveHours. + + If value is NaN or Infinity. + + + + Get ReactiveEnergy from MegavoltampereReactiveHours. + + If value is NaN or Infinity. + + + + Get ReactiveEnergy from VoltampereReactiveHours. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ReactiveEnergy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ReactiveEnergy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ReactiveEnergy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ReactiveEnergy to another ReactiveEnergy with the unit representation . + + A ReactiveEnergy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Volt-ampere reactive (var) is a unit by which reactive power is expressed in an AC electric power system. Reactive power exists in an AC circuit when the current and voltage are not in phase. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ReactivePower, which is VoltampereReactive. All conversions go via this value. + + + + + Represents the largest possible value of ReactivePower + + + + + Represents the smallest possible value of ReactivePower + + + + + The of this quantity. + + + + + All units of measurement for the ReactivePower quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit VoltampereReactive. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ReactivePower in GigavoltamperesReactive. + + + + + Get ReactivePower in KilovoltamperesReactive. + + + + + Get ReactivePower in MegavoltamperesReactive. + + + + + Get ReactivePower in VoltamperesReactive. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ReactivePower from GigavoltamperesReactive. + + If value is NaN or Infinity. + + + + Get ReactivePower from KilovoltamperesReactive. + + If value is NaN or Infinity. + + + + Get ReactivePower from MegavoltamperesReactive. + + If value is NaN or Infinity. + + + + Get ReactivePower from VoltamperesReactive. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ReactivePower unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ReactivePower within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ReactivePower. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ReactivePower to another ReactivePower with the unit representation . + + A ReactivePower with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Relative humidity is a ratio of the actual water vapor present in the air to the maximum water vapor in the air at the given temperature. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of RelativeHumidity, which is Percent. All conversions go via this value. + + + + + Represents the largest possible value of RelativeHumidity + + + + + Represents the smallest possible value of RelativeHumidity + + + + + The of this quantity. + + + + + All units of measurement for the RelativeHumidity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Percent. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get RelativeHumidity in Percent. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get RelativeHumidity from Percent. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + RelativeHumidity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another RelativeHumidity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current RelativeHumidity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this RelativeHumidity to another RelativeHumidity with the unit representation . + + A RelativeHumidity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Angular acceleration is the rate of change of rotational speed. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of RotationalAcceleration, which is RadianPerSecondSquared. All conversions go via this value. + + + + + Represents the largest possible value of RotationalAcceleration + + + + + Represents the smallest possible value of RotationalAcceleration + + + + + The of this quantity. + + + + + All units of measurement for the RotationalAcceleration quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit RadianPerSecondSquared. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get RotationalAcceleration in DegreesPerSecondSquared. + + + + + Get RotationalAcceleration in RadiansPerSecondSquared. + + + + + Get RotationalAcceleration in RevolutionsPerMinutePerSecond. + + + + + Get RotationalAcceleration in RevolutionsPerSecondSquared. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get RotationalAcceleration from DegreesPerSecondSquared. + + If value is NaN or Infinity. + + + + Get RotationalAcceleration from RadiansPerSecondSquared. + + If value is NaN or Infinity. + + + + Get RotationalAcceleration from RevolutionsPerMinutePerSecond. + + If value is NaN or Infinity. + + + + Get RotationalAcceleration from RevolutionsPerSecondSquared. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + RotationalAcceleration unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another RotationalAcceleration within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current RotationalAcceleration. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this RotationalAcceleration to another RotationalAcceleration with the unit representation . + + A RotationalAcceleration with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A way of representing a number of items. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Scalar, which is Amount. All conversions go via this value. + + + + + Represents the largest possible value of Scalar + + + + + Represents the smallest possible value of Scalar + + + + + The of this quantity. + + + + + All units of measurement for the Scalar quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Amount. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Scalar in Amount. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Scalar from Amount. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Scalar unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Scalar within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Scalar. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Scalar to another Scalar with the unit representation . + + A Scalar with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + In geometry, a solid angle is the two-dimensional angle in three-dimensional space that an object subtends at a point. + + + https://en.wikipedia.org/wiki/Solid_angle + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of SolidAngle, which is Steradian. All conversions go via this value. + + + + + Represents the largest possible value of SolidAngle + + + + + Represents the smallest possible value of SolidAngle + + + + + The of this quantity. + + + + + All units of measurement for the SolidAngle quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit Steradian. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get SolidAngle in Steradians. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get SolidAngle from Steradians. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + SolidAngle unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another SolidAngle within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current SolidAngle. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this SolidAngle to another SolidAngle with the unit representation . + + A SolidAngle with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Specific entropy is an amount of energy required to raise temperature of a substance by 1 Kelvin per unit mass. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of SpecificEntropy, which is JoulePerKilogramKelvin. All conversions go via this value. + + + + + Represents the largest possible value of SpecificEntropy + + + + + Represents the smallest possible value of SpecificEntropy + + + + + The of this quantity. + + + + + All units of measurement for the SpecificEntropy quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit JoulePerKilogramKelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get SpecificEntropy in BtusPerPoundFahrenheit. + + + + + Get SpecificEntropy in CaloriesPerGramKelvin. + + + + + Get SpecificEntropy in JoulesPerKilogramDegreeCelsius. + + + + + Get SpecificEntropy in JoulesPerKilogramKelvin. + + + + + Get SpecificEntropy in KilocaloriesPerGramKelvin. + + + + + Get SpecificEntropy in KilojoulesPerKilogramDegreeCelsius. + + + + + Get SpecificEntropy in KilojoulesPerKilogramKelvin. + + + + + Get SpecificEntropy in MegajoulesPerKilogramDegreeCelsius. + + + + + Get SpecificEntropy in MegajoulesPerKilogramKelvin. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get SpecificEntropy from BtusPerPoundFahrenheit. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from CaloriesPerGramKelvin. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from JoulesPerKilogramDegreeCelsius. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from JoulesPerKilogramKelvin. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from KilocaloriesPerGramKelvin. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from KilojoulesPerKilogramDegreeCelsius. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from KilojoulesPerKilogramKelvin. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from MegajoulesPerKilogramDegreeCelsius. + + If value is NaN or Infinity. + + + + Get SpecificEntropy from MegajoulesPerKilogramKelvin. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + SpecificEntropy unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another SpecificEntropy within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current SpecificEntropy. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this SpecificEntropy to another SpecificEntropy with the unit representation . + + A SpecificEntropy with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The molar flow rate of a gas corrected to standardized conditions of temperature and pressure thus representing a fixed number of moles of gas regardless of composition and actual flow conditions. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of StandardVolumeFlow, which is StandardCubicMeterPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of StandardVolumeFlow + + + + + Represents the smallest possible value of StandardVolumeFlow + + + + + The of this quantity. + + + + + All units of measurement for the StandardVolumeFlow quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit StandardCubicMeterPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get StandardVolumeFlow in StandardCubicCentimetersPerMinute. + + + + + Get StandardVolumeFlow in StandardCubicFeetPerHour. + + + + + Get StandardVolumeFlow in StandardCubicFeetPerMinute. + + + + + Get StandardVolumeFlow in StandardCubicFeetPerSecond. + + + + + Get StandardVolumeFlow in StandardCubicMetersPerDay. + + + + + Get StandardVolumeFlow in StandardCubicMetersPerHour. + + + + + Get StandardVolumeFlow in StandardCubicMetersPerMinute. + + + + + Get StandardVolumeFlow in StandardCubicMetersPerSecond. + + + + + Get StandardVolumeFlow in StandardLitersPerMinute. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get StandardVolumeFlow from StandardCubicCentimetersPerMinute. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicFeetPerHour. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicFeetPerMinute. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicFeetPerSecond. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicMetersPerDay. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicMetersPerHour. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicMetersPerMinute. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardCubicMetersPerSecond. + + If value is NaN or Infinity. + + + + Get StandardVolumeFlow from StandardLitersPerMinute. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + StandardVolumeFlow unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another StandardVolumeFlow within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current StandardVolumeFlow. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this StandardVolumeFlow to another StandardVolumeFlow with the unit representation . + + A StandardVolumeFlow with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Temperature change rate is the ratio of the temperature change to the time during which the change occurred (value of temperature changes per unit time). + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of TemperatureChangeRate, which is DegreeCelsiusPerSecond. All conversions go via this value. + + + + + Represents the largest possible value of TemperatureChangeRate + + + + + Represents the smallest possible value of TemperatureChangeRate + + + + + The of this quantity. + + + + + All units of measurement for the TemperatureChangeRate quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit DegreeCelsiusPerSecond. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get TemperatureChangeRate in CentidegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in DecadegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in DecidegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in DegreesCelsiusPerMinute. + + + + + Get TemperatureChangeRate in DegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in HectodegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in KilodegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in MicrodegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in MillidegreesCelsiusPerSecond. + + + + + Get TemperatureChangeRate in NanodegreesCelsiusPerSecond. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get TemperatureChangeRate from CentidegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from DecadegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from DecidegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from DegreesCelsiusPerMinute. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from DegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from HectodegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from KilodegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from MicrodegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from MillidegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Get TemperatureChangeRate from NanodegreesCelsiusPerSecond. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + TemperatureChangeRate unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another TemperatureChangeRate within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current TemperatureChangeRate. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this TemperatureChangeRate to another TemperatureChangeRate with the unit representation . + + A TemperatureChangeRate with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Thermal conductivity is the property of a material to conduct heat. + + + https://en.wikipedia.org/wiki/Thermal_Conductivity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ThermalConductivity, which is WattPerMeterKelvin. All conversions go via this value. + + + + + Represents the largest possible value of ThermalConductivity + + + + + Represents the smallest possible value of ThermalConductivity + + + + + The of this quantity. + + + + + All units of measurement for the ThermalConductivity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit WattPerMeterKelvin. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ThermalConductivity in BtusPerHourFootFahrenheit. + + + + + Get ThermalConductivity in WattsPerMeterKelvin. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ThermalConductivity from BtusPerHourFootFahrenheit. + + If value is NaN or Infinity. + + + + Get ThermalConductivity from WattsPerMeterKelvin. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ThermalConductivity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ThermalConductivity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ThermalConductivity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ThermalConductivity to another ThermalConductivity with the unit representation . + + A ThermalConductivity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Heat Transfer Coefficient or Thermal conductivity - indicates a materials ability to conduct heat. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of ThermalResistance, which is SquareMeterKelvinPerKilowatt. All conversions go via this value. + + + + + Represents the largest possible value of ThermalResistance + + + + + Represents the smallest possible value of ThermalResistance + + + + + The of this quantity. + + + + + All units of measurement for the ThermalResistance quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit SquareMeterKelvinPerKilowatt. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get ThermalResistance in HourSquareFeetDegreesFahrenheitPerBtu. + + + + + Get ThermalResistance in SquareCentimeterHourDegreesCelsiusPerKilocalorie. + + + + + Get ThermalResistance in SquareCentimeterKelvinsPerWatt. + + + + + Get ThermalResistance in SquareMeterDegreesCelsiusPerWatt. + + + + + Get ThermalResistance in SquareMeterKelvinsPerKilowatt. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get ThermalResistance from HourSquareFeetDegreesFahrenheitPerBtu. + + If value is NaN or Infinity. + + + + Get ThermalResistance from SquareCentimeterHourDegreesCelsiusPerKilocalorie. + + If value is NaN or Infinity. + + + + Get ThermalResistance from SquareCentimeterKelvinsPerWatt. + + If value is NaN or Infinity. + + + + Get ThermalResistance from SquareMeterDegreesCelsiusPerWatt. + + If value is NaN or Infinity. + + + + Get ThermalResistance from SquareMeterKelvinsPerKilowatt. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + ThermalResistance unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another ThermalResistance within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current ThermalResistance. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this ThermalResistance to another ThermalResistance with the unit representation . + + A ThermalResistance with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + The magnitude of torque per unit length. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of TorquePerLength, which is NewtonMeterPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of TorquePerLength + + + + + Represents the smallest possible value of TorquePerLength + + + + + The of this quantity. + + + + + All units of measurement for the TorquePerLength quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NewtonMeterPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get TorquePerLength in KilogramForceCentimetersPerMeter. + + + + + Get TorquePerLength in KilogramForceMetersPerMeter. + + + + + Get TorquePerLength in KilogramForceMillimetersPerMeter. + + + + + Get TorquePerLength in KilonewtonCentimetersPerMeter. + + + + + Get TorquePerLength in KilonewtonMetersPerMeter. + + + + + Get TorquePerLength in KilonewtonMillimetersPerMeter. + + + + + Get TorquePerLength in KilopoundForceFeetPerFoot. + + + + + Get TorquePerLength in KilopoundForceInchesPerFoot. + + + + + Get TorquePerLength in MeganewtonCentimetersPerMeter. + + + + + Get TorquePerLength in MeganewtonMetersPerMeter. + + + + + Get TorquePerLength in MeganewtonMillimetersPerMeter. + + + + + Get TorquePerLength in MegapoundForceFeetPerFoot. + + + + + Get TorquePerLength in MegapoundForceInchesPerFoot. + + + + + Get TorquePerLength in NewtonCentimetersPerMeter. + + + + + Get TorquePerLength in NewtonMetersPerMeter. + + + + + Get TorquePerLength in NewtonMillimetersPerMeter. + + + + + Get TorquePerLength in PoundForceFeetPerFoot. + + + + + Get TorquePerLength in PoundForceInchesPerFoot. + + + + + Get TorquePerLength in TonneForceCentimetersPerMeter. + + + + + Get TorquePerLength in TonneForceMetersPerMeter. + + + + + Get TorquePerLength in TonneForceMillimetersPerMeter. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get TorquePerLength from KilogramForceCentimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilogramForceMetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilogramForceMillimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilonewtonCentimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilonewtonMetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilonewtonMillimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilopoundForceFeetPerFoot. + + If value is NaN or Infinity. + + + + Get TorquePerLength from KilopoundForceInchesPerFoot. + + If value is NaN or Infinity. + + + + Get TorquePerLength from MeganewtonCentimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from MeganewtonMetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from MeganewtonMillimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from MegapoundForceFeetPerFoot. + + If value is NaN or Infinity. + + + + Get TorquePerLength from MegapoundForceInchesPerFoot. + + If value is NaN or Infinity. + + + + Get TorquePerLength from NewtonCentimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from NewtonMetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from NewtonMillimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from PoundForceFeetPerFoot. + + If value is NaN or Infinity. + + + + Get TorquePerLength from PoundForceInchesPerFoot. + + If value is NaN or Infinity. + + + + Get TorquePerLength from TonneForceCentimetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from TonneForceMetersPerMeter. + + If value is NaN or Infinity. + + + + Get TorquePerLength from TonneForceMillimetersPerMeter. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + TorquePerLength unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another TorquePerLength within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current TorquePerLength. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this TorquePerLength to another TorquePerLength with the unit representation . + + A TorquePerLength with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Turbidity is the cloudiness or haziness of a fluid caused by large numbers of individual particles that are generally invisible to the naked eye, similar to smoke in air. The measurement of turbidity is a key test of water quality. + + + https://en.wikipedia.org/wiki/Turbidity + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of Turbidity, which is NTU. All conversions go via this value. + + + + + Represents the largest possible value of Turbidity + + + + + Represents the smallest possible value of Turbidity + + + + + The of this quantity. + + + + + All units of measurement for the Turbidity quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit NTU. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get Turbidity in NTU. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get Turbidity from NTU. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + Turbidity unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another Turbidity within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current Turbidity. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this Turbidity to another Turbidity with the unit representation . + + A Turbidity with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Vitamin A: 1 IU is the biological equivalent of 0.3 µg retinol, or of 0.6 µg beta-carotene. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of VitaminA, which is InternationalUnit. All conversions go via this value. + + + + + Represents the largest possible value of VitaminA + + + + + Represents the smallest possible value of VitaminA + + + + + The of this quantity. + + + + + All units of measurement for the VitaminA quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit InternationalUnit. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get VitaminA in InternationalUnits. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get VitaminA from InternationalUnits. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + VitaminA unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another VitaminA within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current VitaminA. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this VitaminA to another VitaminA with the unit representation . + + A VitaminA with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + Volume, typically of fluid, that a container can hold within a unit of length. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of VolumePerLength, which is CubicMeterPerMeter. All conversions go via this value. + + + + + Represents the largest possible value of VolumePerLength + + + + + Represents the smallest possible value of VolumePerLength + + + + + The of this quantity. + + + + + All units of measurement for the VolumePerLength quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit CubicMeterPerMeter. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get VolumePerLength in CubicMetersPerMeter. + + + + + Get VolumePerLength in CubicYardsPerFoot. + + + + + Get VolumePerLength in CubicYardsPerUsSurveyFoot. + + + + + Get VolumePerLength in LitersPerKilometer. + + + + + Get VolumePerLength in LitersPerMeter. + + + + + Get VolumePerLength in LitersPerMillimeter. + + + + + Get VolumePerLength in OilBarrelsPerFoot. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get VolumePerLength from CubicMetersPerMeter. + + If value is NaN or Infinity. + + + + Get VolumePerLength from CubicYardsPerFoot. + + If value is NaN or Infinity. + + + + Get VolumePerLength from CubicYardsPerUsSurveyFoot. + + If value is NaN or Infinity. + + + + Get VolumePerLength from LitersPerKilometer. + + If value is NaN or Infinity. + + + + Get VolumePerLength from LitersPerMeter. + + If value is NaN or Infinity. + + + + Get VolumePerLength from LitersPerMillimeter. + + If value is NaN or Infinity. + + + + Get VolumePerLength from OilBarrelsPerFoot. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + VolumePerLength unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another VolumePerLength within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current VolumePerLength. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this VolumePerLength to another VolumePerLength with the unit representation . + + A VolumePerLength with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + + A geometric property of an area that is used to determine the warping stress. + + + + + The numeric value this quantity was constructed with. + + + + + The unit this quantity was constructed with. + + + + + Creates the quantity with the given numeric value and unit. + + The numeric value to construct this quantity with. + The unit representation to construct this quantity with. + If value is NaN or Infinity. + + + + Creates an instance of the quantity with the given numeric value in units compatible with the given . + If multiple compatible units were found, the first match is used. + + The numeric value to construct this quantity with. + The unit system to create the quantity with. + The given is null. + No unit was found for the given . + + + + + + + The of this quantity. + + + + + The base unit of WarpingMomentOfInertia, which is MeterToTheSixth. All conversions go via this value. + + + + + Represents the largest possible value of WarpingMomentOfInertia + + + + + Represents the smallest possible value of WarpingMomentOfInertia + + + + + The of this quantity. + + + + + All units of measurement for the WarpingMomentOfInertia quantity. + + + + + Gets an instance of this quantity with a value of 0 in the base unit MeterToTheSixth. + + + + + The numeric value this quantity was constructed with. + + + + + + + + + + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Get WarpingMomentOfInertia in CentimetersToTheSixth. + + + + + Get WarpingMomentOfInertia in DecimetersToTheSixth. + + + + + Get WarpingMomentOfInertia in FeetToTheSixth. + + + + + Get WarpingMomentOfInertia in InchesToTheSixth. + + + + + Get WarpingMomentOfInertia in MetersToTheSixth. + + + + + Get WarpingMomentOfInertia in MillimetersToTheSixth. + + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + + + + Get unit abbreviation string. + + Unit to get abbreviation for. + Unit abbreviation string. + Format to use for localization. Defaults to if null. + + + + Get WarpingMomentOfInertia from CentimetersToTheSixth. + + If value is NaN or Infinity. + + + + Get WarpingMomentOfInertia from DecimetersToTheSixth. + + If value is NaN or Infinity. + + + + Get WarpingMomentOfInertia from FeetToTheSixth. + + If value is NaN or Infinity. + + + + Get WarpingMomentOfInertia from InchesToTheSixth. + + If value is NaN or Infinity. + + + + Get WarpingMomentOfInertia from MetersToTheSixth. + + If value is NaN or Infinity. + + + + Get WarpingMomentOfInertia from MillimetersToTheSixth. + + If value is NaN or Infinity. + + + + Dynamically convert from value and unit enum to . + + Value to convert from. + Unit to convert from. + WarpingMomentOfInertia unit value. + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + + + + Parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + + Expected string to have one or two pairs of quantity and unit in the format + "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" + + + More than one unit is represented by the specified unit abbreviation. + Example: Volume.Parse("1 cup") will throw, because it can refer to any of + , and . + + + If anything else goes wrong, typically due to a bug or unhandled case. + We wrap exceptions in to allow you to distinguish + Units.NET exceptions from other exceptions. + + Format to use when parsing number and unit. Defaults to if null. + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + + + + Try to parse a string with one or two quantities of the format "<quantity> <unit>". + + String to parse. Typically in the form: {number} {unit} + Resulting unit quantity if successful. + True if successful, otherwise false. + + Length.Parse("5.5 m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + Format to use when parsing number and unit. Defaults to if null. + + Length.ParseUnit("m", new CultureInfo("en-US")); + + The value of 'str' cannot be null. + Error parsing string. + + + + + + + Parse a unit string. + + String to parse. Typically in the form: {number} {unit} + The parsed unit if successful. + True if successful, otherwise false. + + Length.TryParseUnit("m", new CultureInfo("en-US")); + + Format to use when parsing number and unit. Defaults to if null. + + + Negate the value. + + + Get from adding two . + + + Get from subtracting two . + + + Get from multiplying value and . + + + Get from multiplying value and . + + + Get from dividing by value. + + + Get ratio value from dividing by . + + + Returns true if less or equal to. + + + Returns true if greater than or equal to. + + + Returns true if less than. + + + Returns true if greater than. + + + Returns true if exactly equal. + Consider using for safely comparing floating point values. + + + Returns true if not exactly equal. + Consider using for safely comparing floating point values. + + + + + + + + + + Consider using for safely comparing floating point values. + + + + Consider using for safely comparing floating point values. + + + + + Compare equality to another WarpingMomentOfInertia within the given absolute or relative tolerance. + + + Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a percentage of this quantity's value. will be converted into + this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of + this quantity's value to be considered equal. + + In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Relative); + + + + + Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and + as a fixed number in this quantity's unit. will be converted into + this quantity's unit for comparison. + + In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). + + var a = Length.FromMeters(2.0); + var b = Length.FromInches(50.0); + a.Equals(b, 0.01, ComparisonType.Absolute); + + + + + Note that it is advised against specifying zero difference, due to the nature + of floating point operations and using System.Double internally. + + + The other quantity to compare to. + The absolute or relative tolerance value. Must be greater than or equal to 0. + The comparison type: either relative or absolute. + True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. + + + + Returns the hash code for this instance. + + A hash code for the current WarpingMomentOfInertia. + + + + Convert to the unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts this WarpingMomentOfInertia to another WarpingMomentOfInertia with the unit representation . + + A WarpingMomentOfInertia with the specified unit. + + + + + + + + + + + + + + + + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Converts the current value + unit to the base unit. + This is typically the first step in converting from one unit to another. + + The value in the base unit representation. + + + + Gets the default string representation of value and unit. + + String representation. + + + + Gets the default string representation of value and unit using the given format provider. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + + Gets the string representation of this instance in the specified format string using . + + The format string. + The string representation. + + + + + Gets the string representation of this instance in the specified format string using the specified format provider, or if null. + + The format string. + Format to use for localization and number formatting. Defaults to if null. + The string representation. + + + + Lists all generated quantities with the same name as the quantity struct type, + such as Length, Mass, Force etc. + This is useful for populating options in the UI, such as creating a generic conversion + tool with inputValue, quantityName, fromUnit and toUnit selectors. + + + + + Convert between units of a quantity, such as converting from meters to centimeters of a given length. + + + + + Registers the default conversion functions in the given instance. + + The to register the default conversion functions in. + + + + The static instance used by Units.NET to convert between units. Modify this to add/remove conversion functions at runtime, such + as adding your own third-party units and quantities to convert between. + + + + + Sets the conversion function from two units of the same quantity type. + + The type of quantity, must implement . + From unit enum value, such as . + To unit enum value, such as . + The quantity conversion function. + + + + Sets the conversion function from two units of different quantity types. + + From quantity type, must implement . + To quantity type, must implement . + From unit enum value, such as . + To unit enum value, such as . + The quantity conversion function. + + + + Sets the conversion function from two units of different quantity types. + + From quantity type, must implement . + From unit enum value, such as . + To quantity type, must implement . + To unit enum value, such as . + The quantity conversion function. + + + + Sets the conversion function for a particular conversion function lookup. + + The lookup key. + The quantity conversion function. + + + + Sets the conversion function for a particular conversion function lookup. + + The quantity type, must implement . + The quantity conversion function lookup key. + The quantity conversion function. + + + + Gets the conversion function from two units of the same quantity type. + + The quantity type, must implement . + From unit enum value, such as . + To unit enum value, such as . + + + + + Gets the conversion function from two units of different quantity types. + + From quantity type, must implement . + To quantity type, must implement . + From unit enum value, such as . + To unit enum value, such as . + + + + + Gets the conversion function from two units of different quantity types. + + From quantity type, must implement . + From unit enum value, such as . + To quantity type, must implement . + To unit enum value, such as . + + + + Gets the conversion function by its lookup key. + + + + + + Gets the conversion function for two units of the same quantity type. + + The quantity type, must implement . + From unit enum value, such as . + To unit enum value, such as . + The quantity conversion function. + true if set; otherwise, false. + + + + Gets the conversion function for two units of different quantity types. + + From quantity type, must implement . + To quantity type, must implement . + From unit enum value, such as . + To unit enum value, such as . + The quantity conversion function. + true if set; otherwise, false. + + + + Try to get the conversion function for two units of the same quantity type. + + From quantity type, must implement . + From unit enum value, such as . + To quantity type, must implement . + To unit enum value, such as . + The quantity conversion function. + true if set; otherwise, false. + + + + + + + + true if set; otherwise, false. + + + + Convert between any two quantity units given a numeric value and two unit enum values. + + Numeric value. + From unit enum value. + To unit enum value, must be compatible with . + The converted value in the new unit representation. + + + + Try to convert between any two quantity units given a numeric value and two unit enum values. + + Numeric value. + From unit enum value. + To unit enum value, must be compatible with . + The converted value, if successful. Otherwise default. + True if successful. + + + + Convert between any two quantity units by their names, such as converting a "Length" of N "Meter" to "Centimeter". + This is particularly useful for creating things like a generated unit conversion UI, + where you list some selectors: + a) Quantity: Length, Mass, Force etc. + b) From unit: Meter, Centimeter etc if Length is selected + c) To unit: Meter, Centimeter etc if Length is selected + + + Input value, which together with represents the quantity to + convert from. + + + Name of quantity, such as "Length" and "Mass". for all + values. + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + double centimeters = ConvertByName(5, "Length", "Meter", "Centimeter"); // 500 + Output value as the result of converting to . + No units match the abbreviation. + More than one unit matches the abbreviation. + + + + Convert between any two quantity units by their names, such as converting a "Length" of N "Meter" to "Centimeter". + This is particularly useful for creating things like a generated unit conversion UI, + where you list some selectors: + a) Quantity: Length, Mass, Force etc. + b) From unit: Meter, Centimeter etc if Length is selected + c) To unit: Meter, Centimeter etc if Length is selected + + + Input value, which together with represents the quantity to + convert from. + + + Name of quantity, such as "Length" and "Mass". for all + values. + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + Result if conversion was successful, 0 if not. + bool ok = TryConvertByName(5, "Length", "Meter", "Centimeter", out double centimeters); // 500 + True if conversion was successful. + + + + Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". + This is particularly useful for creating things like a generated unit conversion UI, + where you list some selectors: + a) Quantity: Length, Mass, Force etc. + b) From unit: Meter, Centimeter etc if Length is selected + c) To unit: Meter, Centimeter etc if Length is selected + + + Input value, which together with represents the quantity to + convert from. + + + Name of quantity, such as "Length" and "Mass". for all + values. + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 + Output value as the result of converting to . + + + + Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". + This is particularly useful for creating things like a generated unit conversion UI, + where you list some selectors: + a) Quantity: Length, Mass, Force etc. + b) From unit: Meter, Centimeter etc if Length is selected + c) To unit: Meter, Centimeter etc if Length is selected + + + Input value, which together with represents the quantity to + convert from. + + + Name of quantity, such as "Length" and "Mass". for all + values. + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + Culture to parse abbreviations with. + double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 + Output value as the result of converting to . + + No unit types match the prefix of or no units + are mapped to the abbreviation. + + More than one unit matches the abbreviation. + + + + Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". + This is particularly useful for creating things like a generated unit conversion UI, + where you list some selectors: + a) Quantity: Length, Mass, Force etc. + b) From unit: Meter, Centimeter etc if Length is selected + c) To unit: Meter, Centimeter etc if Length is selected + + + Input value, which together with represents the quantity to + convert from. + + + Name of quantity, such as "Length" and "Mass". for all + values. + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + Result if conversion was successful, 0 if not. + double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 + True if conversion was successful. + + + + Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". + This is particularly useful for creating things like a generated unit conversion UI, + where you list some selectors: + a) Quantity: Length, Mass, Force etc. + b) From unit: Meter, Centimeter etc if Length is selected + c) To unit: Meter, Centimeter etc if Length is selected + + + Input value, which together with represents the quantity to + convert from. + + + Name of quantity, such as "Length" and "Mass". for all + values. + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + + Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as + . + + Culture to parse abbreviations with. + Result if conversion was successful, 0 if not. + double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 + True if conversion was successful. + + + + Parse a unit by the unit enum type and a unit enum value > + + Unit type, such as . + Unit name, such as "Meter" corresponding to . + The return enum value, such as boxed as an object. + True if succeeded, otherwise false. + No unit values match the . + + + + The pound per horse power hour uses mechanical horse power and the imperial pound + + + + + The short ton-force is a unit of force equal to 2,000 pounds-force (907.18474 kgf), that is most commonly used in the United States – known there simply as the ton or US ton. + + https://en.wikipedia.org/wiki/Ton-force#Short_ton-force + + + + One Astronomical Unit is the distance from the solar system Star, the sun, to planet Earth. + + https://en.wikipedia.org/wiki/Astronomical_unit + + + + A Light Year (ly) is the distance that light travel during an Earth year, ie 365 days. + + https://en.wikipedia.org/wiki/Light-year + + + + A parsec is defined as the distance at which one astronomical unit (AU) subtends an angle of one arcsecond. + + https://en.wikipedia.org/wiki/Parsec + + + + Solar radius is a ratio unit to the radius of the solar system star, the sun. + + https://en.wikipedia.org/wiki/Stellar_classification + + + https://www.britannica.com/science/luminosity + + + + Earth mass is a ratio unit to the mass of planet Earth. + + https://en.wikipedia.org/wiki/Earth_mass + + + + A grain is a unit of measurement of mass, and in the troy weight, avoirdupois, and Apothecaries' system, equal to exactly 64.79891 milligrams. + + https://en.wikipedia.org/wiki/Grain_(unit) + + + + The long or imperial hundredweight (abbreviation cwt) is a unit of mass equal to 112 pounds in US and Canada. + + https://en.wikipedia.org/wiki/Hundredweight + + + + Long ton (weight ton or Imperial ton) is a unit of mass equal to 2,240 pounds (1,016 kg) and is the name for the unit called the "ton" in the avoirdupois or Imperial system of measurements that was used in the United Kingdom and several other Commonwealth countries before metrication. + + http://en.wikipedia.org/wiki/Long_ton + + + + An ounce (abbreviated oz) is usually the international avoirdupois ounce as used in the United States customary and British imperial systems, which is equal to one-sixteenth of a pound or approximately 28 grams. The abbreviation 'oz' derives from the Italian word onza (now spelled oncia). + + http://en.wikipedia.org/wiki/Ounce + + + + The pound or pound-mass (abbreviations: lb, lbm) is a unit of mass used in the imperial, United States customary and other systems of measurement. A number of different definitions have been used, the most common today being the international avoirdupois pound which is legally defined as exactly 0.45359237 kilograms, and which is divided into 16 avoirdupois ounces. + + + + + The short hundredweight (abbreviation cwt) is a unit of mass equal to 100 pounds in US and Canada. In British English, the short hundredweight is referred to as the "cental". + + https://en.wikipedia.org/wiki/Hundredweight + + + + The short ton is a unit of mass equal to 2,000 pounds (907.18474 kg), that is most commonly used in the United States – known there simply as the ton. + + http://en.wikipedia.org/wiki/Short_ton + + + + The slug (abbreviation slug) is a unit of mass that is accelerated by 1 ft/s² when a force of one pound (lbf) is exerted on it. + + http://en.wikipedia.org/wiki/Slug_(unit) + + + + Solar mass is a ratio unit to the mass of the solar system star, the sun. + + https://en.wikipedia.org/wiki/Solar_mass + + + + The stone (abbreviation st) is a unit of mass equal to 14 pounds avoirdupois (about 6.35 kilograms) used in Great Britain and Ireland for measuring human body weight. + + http://en.wikipedia.org/wiki/Stone_(unit) + + + + Represents a quantity with a decimal value. + + + + + The decimal value this quantity was constructed with. + + + + + Guard methods to ensure parameter values satisfy pre-conditions and use a consistent exception message. + + + + + Throws if value is , + or . + + The value to check. + Name of parameter in calling method. + The given if valid. + If is invalid. + + + + Wrap the type to make it .NET agnostic using Type for old targets and the newer TypeInfo for newer targets. + + + + + Returns the type or type info object depending on compile target, such as TypeInfo for .NET 4.5+ and Type for .NET + 4.0 and older. + The APIs of these two objects are similar, but obtaining them is slightly different. + The idea is to get fewer #if pragma statements in the code. + + + + + Represents a quantity. + + + + + The of this quantity. + + + + + The of this quantity. + + + + + Information about the quantity type, such as unit values and names. + + + + + Gets the value in the given unit. + + The unit enum value. The unit must be compatible, so for you should provide a value. + Value converted to the specified unit. + Wrong unit enum type was given. + + + + Gets the value in the unit determined by the given . If multiple units were found for the given , + the first match will be used. + + The to convert the quantity value to. + The converted value. + + + + The unit this quantity was constructed with -or- BaseUnit if default ctor was used. + + + + + The value this quantity was constructed with. See also . + + + + + Converts to a quantity with the given unit representation, which affects things like . + + The unit enum value. The unit must be compatible, so for you should provide a value. + A new quantity with the given unit. + + + + Converts to a quantity with a unit determined by the given , which affects things like . + If multiple units were found for the given , the first match will be used. + + The to convert the quantity to. + A new quantity with the determined unit. + + + + Gets the string representation of value and unit. Uses two significant digits after radix. + + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + The number of significant digits after the radix point. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + Get string representation of value and unit. + + String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." + Arguments for string format. Value and unit are implictly included as arguments 0 and 1. + String representation. + Format to use for localization and number formatting. Defaults to if null. + + + + A stronger typed interface where the unit enum type is known, to avoid passing in the + wrong unit enum type and not having to cast from . + + + IQuantity{LengthUnit} length; + double centimeters = length.As(LengthUnit.Centimeter); // Type safety on enum type + + + + + Convert to a unit representation . + + Value converted to the specified unit. + + + + + + + + + + Converts to a quantity with the given unit representation, which affects things like . + + The unit enum value. + A new quantity with the given unit. + + + + Converts to a quantity with a unit determined by the given , which affects things like . + If multiple units were found for the given , the first match will be used. + + The to convert the quantity to. + A new quantity with the determined unit. + + + + The QuantityFormatter class is responsible for formatting a quantity using the given format string. + + + + + The available UnitsNet custom format specifiers. + + + + + Formats a quantity using the given format string and format provider. + + The quantity's unit type, for example . + The quantity to format. + The format string. + + The valid format strings are as follows: + + + A standard numeric format string. + Any of the standard numeric format for except for "G" or "g". + "C" or "c", "E" or "e", "F" or "f", "N" or "n", "P" or "p", "R" or "r" are all accepted. + + + + "G" or "g". + The value with 2 significant digits after the radix followed by the unit abbreviation, such as "1.23 m". + + + "A" or "a". + The default unit abbreviation for , such as "m". + + + "A0", "A1", ..., "An" or "a0", "a1", ..., "an". + The n-th unit abbreviation for . "a0" is the same as "a". + A will be thrown if the requested abbreviation index does not exist. + + + "V" or "v". + The string representation of using the default ToString method. + + + "U" or "u". + The enum name of , such as "Meter". + + + "Q" or "q". + The quantity name, such as "Length". + + + "S1", "S2", ..., "Sn" or "s1", "s2", ..., "sn". + The value with n significant digits after the radix followed by the unit abbreviation. For example, + "s4" would return "1.2345 m" if is 1.2345678. Trailing zeros are omitted. + + + + The string representation. + + + + Formats a quantity using the given format string and format provider. + + The quantity's unit type, for example . + The quantity to format. + The format string. + The format provider to use for localization and number formatting. Defaults to + if null. + + The valid format strings are as follows: + + + A standard numeric format string. + Any of the standard numeric format for except for "G" or "g". + "C" or "c", "E" or "e", "F" or "f", "N" or "n", "P" or "p", "R" or "r" are all accepted. + + + + "G" or "g". + The value with 2 significant digits after the radix followed by the unit abbreviation, such as "1.23 m". + + + "A" or "a". + The default unit abbreviation for , such as "m". + + + "A0", "A1", ..., "An" or "a0", "a1", ..., "an". + The n-th unit abbreviation for . "a0" is the same as "a". + A will be thrown if the requested abbreviation index does not exist. + + + "V" or "v". + The string representation of using the default ToString method. + + + "U" or "u". + The enum name of , such as "Meter". + + + "Q" or "q". + The quantity name, such as "Length". + + + "S1", "S2", ..., "Sn" or "s1", "s2", ..., "sn". + The value with n significant digits after the radix followed by the unit abbreviation. For example, + "s4" would return "1.2345 m" if is 1.2345678. Trailing zeros are omitted. + + + + The string representation. + + + + Information about the quantity, such as names, unit values and zero quantity. + This is useful to enumerate units and present names with quantities and units + chose dynamically at runtime, such as unit conversion apps or allowing the user to change the + unit representation. + + + Typically you obtain this by looking it up via . + + + + + Constructs an instance. + + The quantity enum value. + The information about the units for this quantity. + The base unit enum value. + The zero quantity. + The base dimensions of the quantity. + Quantity type can not be undefined. + If units -or- baseUnit -or- zero -or- baseDimensions is null. + + + + Constructs an instance. + + Name of the quantity. + The unit enum type, such as . + The information about the units for this quantity. + The base unit enum value. + The zero quantity. + The base dimensions of the quantity. + The the quantity type. Defaults to Undefined. + Quantity type can not be undefined. + If units -or- baseUnit -or- zero -or- baseDimensions is null. + + + + Quantity name, such as "Length" or "Mass". + + + + + Quantity type, such as or . + + + + + The units for this quantity. + + + + + All unit names for the quantity, such as ["Centimeter", "Decimeter", "Meter", ...]. + + + + + All unit enum values for the quantity, such as [, + , , ...]. + + + + + The base unit of this quantity. + + + + + The base unit for the quantity, such as . + + + + + Zero value of quantity, such as . + + + + + Unit enum type, such as or . + + + + + Quantity value type, such as or . + + + + + The for a quantity. + + + + + Gets the whose is a subset of . + + Length.Info.GetUnitInfoFor(unitSystemWithFootAsLengthUnit) returns for . + The to check against. + The that has that is a subset of . + is null. + No unit was found that is a subset of . + More than one unit was found that is a subset of . + + + + Gets an of that have that is a subset of . + + The to check against. + An of that have that is a subset of . + is null. + + + + + This is a specialization of , for when the unit type is known. + Typically you obtain this by looking it up statically from or + , or dynamically via . + + The unit enum type, such as . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quantity type was not found. This is typically thrown for dynamic conversions, + such as . + + + + + + + + + + + + + + Is the base class for all attributes that are related to + + + + + The unit enum type, such as + + + + + Initializes a new instance of the class. + + + + + + This attribute defines the default Unit to use if the string to convert only consists of digits + + + + + Initializes a new instance of the class. + + The unit the quantity gets when the string parsing dose only consist of digits + + + + This attribute defines the Unit the quantity is converted to after it has been parsed. + + + + + Initializes a new instance of the class. + + The unit the quantity is converted to when parsing from string + + + + This attribute defines the unit the quantity has when converting to string + + + + + The formating used when the quantity is converted to string. See + + + + + Initializes a new instance of the class. + + The unit the quantity should be displayed in + Formating string + + + + + Converts between IQuantity and string. + Implements a TypeConverter for IQuantitys. This allows eg the PropertyGrid to read and write properties of type IQuantity. + + For basic understanding of TypeConverters consult the .NET documentation. + + Quantity value type, such as or . + + + When a string is converted a Quantity the unit given by the string is used. + When no unit is given by the string the base unit is used. + The base unit can be overwritten by use of the . + The converted Quantity can be forced to be in a certain unit by use of the . + + + The displayed unit can be forced to a certain unit by use of the . + The provides the possibility to format the displayed Quantity. + + + + These examples show how to use this TypeConverter. + + + [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] + Units.Length PropertyName { get; set; } + + + + [DisplayAsUnit(UnitsNet.Units.LengthUnit.Meter)] + [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] + Units.Length Length { get; set; } + + + + [DisplayAsUnit(UnitsNet.Units.LengthUnit.Meter, "g")] + [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] + Units.Length Length { get; set; } + + + + [ConvertToUnitAttribute(UnitsNet.Units.LengthUnit.Meter)] + [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] + Units.Length Length { get; set; } + + + + [DefaultUnitAttribute(UnitsNet.Units.LengthUnit.Meter)] + [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] + Units.Length Length { get; set; } + + + + + + Returns true if sourceType if of type + + An that provides a format context. + A that represents the type you want to convert from. + true if this converter can perform the conversion; otherwise, false. + + + + Converts the given object, when it is of type to the type of this converter, using the specified context and culture information. + + An System.ComponentModel.ITypeDescriptorContext that provides a format context. + The System.Globalization.CultureInfo to use as the current culture. + The System.Object to convert. + An object. + The conversion cannot be performed. + Unit value is not a know unit enum type. + + + Returns true whether this converter can convert the to string, using the specified context. + true if this converter can perform the conversion; otherwise, false. + An that provides a format context. + A that represents the type you want to convert to. + + + Converts the given object to , using the specified context and culture information. + An that represents the converted value. + An that provides a format context. + A . If null is passed, the current culture is assumed. + The to convert. + The to convert the parameter to. + The parameter is null. + The conversion cannot be performed. + + + + A type that supports implicit cast from all .NET numeric types, in order to avoid a large number of overloads + and binary size for all From(value, unit) factory methods, for each of the 700+ units in the library. + stores the value internally with the proper type to preserve the range or precision of the original value: + + for [byte, short, int, long, float, double] + for [decimal] to preserve the 128-bit precision + + + + At the time of this writing, this reduces the number of From(value, unit) overloads to 1/4th: + From 8 (int, long, double, decimal + each nullable) down to 2 (QuantityValue and QuantityValue?). + This also adds more numeric types with no extra overhead, such as float, short and byte. + + + + + Value assigned when implicitly casting from all numeric types except , since + has the greatest range and is 64 bits versus 128 bits for . + + + + + Value assigned when implicitly casting from type, since it has a greater precision than + and we want to preserve that when constructing quantities that use + as their value type. + + + + Implicit cast from to . + + + Implicit cast from to . + + + Implicit cast from to . + + + Implicit cast from to . + + + Implicit cast from to . + + + Implicit cast from to . + + + Implicit cast from to . + + + Explicit cast from to . + + + Explicit cast from to . + + + Returns the string representation of the numeric value. + + + + + + + + + + + + + + + + + + + Utility class for formatting units and values. + + + + + Gets the default ToString format for the specified value. + + The value to format. + + The number of digits after the radix point to display in the formatted + string. + + A ToString format for the specified value. + + + + Gets ToString format arguments. + + The type of units to format. + The units + The unit value to format. + The current culture. + The list of format arguments. + An array of ToString format arguments. + + + + Information about the unit, such as its name and value. + This is useful to enumerate units and present names with quantities and units + chosen dynamically at runtime, such as unit conversion apps or allowing the user to change the + unit representation. + + + Typically you obtain this by looking it up via . + + + + + Creates an instance of the UnitInfo class. + + The enum value for this class, for example . + The for this unit. + + + + The enum value of the unit, such as [, + , , ...]. + + + + + The name of the unit, such as ["Centimeter", "Decimeter", "Meter", ...]. + + + + + Gets the for this unit. + + + + + + This is a specialization of , for when the unit type is known. + Typically you obtain this by looking it up statically from or + or dynamically via . + + The unit enum type, such as . + + + + + + + + + + A set of extension methods for some of the most common Math operations, such as Min, Max, Sum and Average + + + + Returns the absolute value of a . + + A quantity with a value that is greater than or equal to , + but less than or equal to . + + A quantity with a value, such that 0 ≤ value ≤ . + + + Computes the sum of a sequence of values. + A sequence of values to calculate the sum of. + The desired unit type for the resulting quantity + The sum of the values in the sequence, represented in the specified unit type. + + source is null. + + + source contains quantity types different from . + + + + + Computes the sum of the sequence of values that are obtained by invoking a + transform function on each element of the input sequence. + + A sequence of values that are used to calculate a sum. + A transform function to apply to each element. + The desired unit type for the resulting quantity + The type of the elements of source. + The type of quantity that is produced by this operation + The sum of the projected values, represented in the specified unit type. + + source or selector is null. + + + source contains quantity types different from . + + + + Returns the smaller of two values. + The type of quantities to compare. + The first of two values to compare. + The second of two values to compare. + Parameter or , whichever is smaller. + + + Computes the min of a sequence of values. + A sequence of values to calculate the min of. + The desired unit type for the resulting quantity + The min of the values in the sequence, represented in the specified unit type. + + source is null. + + source contains no elements. + + source contains quantity types different from . + + + + + Computes the min of the sequence of values that are obtained by invoking a + transform function on each element of the input sequence. + + A sequence of values that are used to calculate a min. + A transform function to apply to each element. + The desired unit type for the resulting quantity + The type of the elements of source. + The type of quantity that is produced by this operation + The min of the projected values, represented in the specified unit type. + + source or selector is null. + + source contains no elements. + + source contains quantity types different from . + + + + Returns the larger of two values. + The type of quantities to compare. + The first of two values to compare. + The second of two values to compare. + Parameter or , whichever is larger. + + + Computes the max of a sequence of values. + A sequence of values to calculate the max of. + The desired unit type for the resulting quantity + The max of the values in the sequence, represented in the specified unit type. + + source is null. + + source contains no elements. + + source contains quantity types different from . + + + + + Computes the max of the sequence of values that are obtained by invoking a + transform function on each element of the input sequence. + + A sequence of values that are used to calculate a max. + A transform function to apply to each element. + The desired unit type for the resulting quantity + The type of the elements of source. + The type of quantity that is produced by this operation + The max of the projected values, represented in the specified unit type. + + source or selector is null. + + source contains no elements. + + source contains quantity types different from . + + + + Computes the average of a sequence of values. + A sequence of values to calculate the average of. + The desired unit type for the resulting quantity + The average of the values in the sequence, represented in the specified unit type. + + source is null. + + source contains no elements. + + source contains quantity types different from . + + + + + Computes the average of the sequence of values that are obtained by invoking + a transform function on each element of the input sequence. + + A sequence of values that are used to calculate an average. + A transform function to apply to each element. + The desired unit type for the resulting quantity + The type of the elements of source. + The type of quantity that is produced by this operation + The average of the projected values, represented in the specified unit type. + + source or selector is null. + + source contains no elements. + + source contains quantity types different from . + + + + + Unit was not found. This is typically thrown for dynamic conversions, + such as . + + + + + + + + + + + + + + The base type for UnitsNet exceptions. + + + + + + + + + + + + + + A unit system defined by a combination of base units. + This is typically used to define the "working units" for consistently creating and presenting quantities in the selected base units, + such as to use SI base units such as meters, kilograms and seconds. + + + + + Creates an instance of a unit system with the specified base units. + + The base units for the unit system. + + + + + + + + + + Checks if this instance is equal to another. + + The left instance. + The right instance. + True if equal, otherwise false. + + + + + Checks if this instance is equal to another. + + The left instance. + The right instance. + True if equal, otherwise false. + + + + + + + + The base units of this unit system. + + + + + Gets the SI unit system. + + + + diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.engine.api.dll b/UnitTestGhSA/bin/x64/Debug/nunit.engine.api.dll new file mode 100644 index 0000000000000000000000000000000000000000..4b90f1711e9fc8f3826dd0463b20efd6d6176645 GIT binary patch literal 18944 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 O-!k^Uh5x6uz`p_OkO1}o literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.engine.core.dll b/UnitTestGhSA/bin/x64/Debug/nunit.engine.core.dll new file mode 100644 index 0000000000000000000000000000000000000000..4fd9b088d87e3216672d49ca05eba0efadaa27c1 GIT binary patch literal 94208 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 z z8?|&*b*OrR@(n|)MXI_-_0h_%Jk(fyjN(6sCKV$IbEPcrHJ@F5x-y=jRU*+!&_o;ZwsrxUX+tl0S5(hdE|L)2=N#pl^N0)C z=hu~UlourAu8i#zbCow3+Tq#g9Ruh+8!sh2If3R_X zh~HIxma@f$vY3&brM%A2Quk%fYC!MVxZPNlTgpc^&W(O#DPP#Q%X;k;8Rc6Wx29JR z(9brmrT_ia3lzPB>aauE+m$o zScaCme;IfjPA=z5NR$lPTz!tR&W8Tn7E{huwlgI65*8`{mN@980{1m~E@oLgRHMa8 zf}tgDs?lPl)y7ecvdRGrEp=0kvdS16NBZnk#@YEupPkBa41MBR(z0HhuS~b|-QDtX z_4&%2|HIzfz{gos`{Ogu?k1bJZL+1MElJrzd8w2%?=R4nrb*fcnl^1xO0^g^n@zhm z*$ul%+X(1xL9_^0tLTNRNUI>XS5XjrsZuNoUdzi>?w{%p#cRQWps1+$0$1++eZOa( zXP@09RlL{x|9tM}^DE>$GiPSb%$zxM=FFLSp0#s+t?ntrQYH;L>&KO8eUBYGXZDXP zGy3Zi`>5JH`-RFq`YAg$ir94`<(Thfl%DIeG0KY@BhTCzCFFYDca2C7`aVZrufHR) z7mD6({Y<@2f8UN>Z^2`%kDD0mKE!@JCA-dC~N z^LKiS9i#2`0ligX`_wb#&siVTUy)cwt$RbM!v_wrs3i zeOTX+js3XtW_^dmUeKY_PWOF8|Iv=UYth-hkLvAd(-x-PqHnTeOuJQoR$^wg_?W&w z8+)blWBO5(Q#f&({#QFjPTZ!SF)`u9C-ncxDExatlN0-OXpf1J69@G5c8q=hl)m4N zkuP`Xxz{phMtuQR?47#Cj{TtV^~yW-brLhW?k*j;jyc&*U3HgkGBN+N-pBMm>6H@u zme{oaq_^8K`fxv^FMAKmeM@l-_>AV4oXi@q7_q$)dqHz=@mc-%c8q(VyY(G*jJuw@ z^&vaP9nszTTXu|A`rY~|JH|cG=k!nP823Q;=-=2e_WcXme?4nAJ-SbaB$mN#n4O;c z^!p^n{*_kUuRkF%v)}xZ{c@t$1=!W;ZwLhSjO3c*$fZl4SvG&9IW;@2( z59{qWy0stHdn9IRKdf&sF{%Bq-e;$=_QU$)b{cCxtY5KX?E7K;M~Ru*59>KMnU=Bk z2X&7fW9<*(kk76CL0u`aXN$I8(1WyvCMLB%sL!+0So?#z#ZJ@b4Iq}bW32r_{XU7Y zcGmYniCv5PMT@H*)DKC_$ovugL{82l`k0;bVpUstL?5?fC5SzwU(DugsQQNXeSocg zL6>+htoo)dv|}&Ky{qhDU2kGV&n;b9^@zUEj{SV;8pJvz#+I$G`j+m?#X-MqTso@#A2P9zLt2mOg%W$VsQbcys646{o0#zIsIIru$g`t*sh#%6 z^EOu<)w}H&d3IE%C1ytKsJ`7!{w7^z8Y~MurLVAK ze^)g>@U%{vSW#$Rb>K(Pd|F}42-s0Y*jvi`+{AcP+3b8we(Kp?ras*4;*wo0fTA7wa zX1d`XjDn?hhlp{*9`&IBF{`Ct-#ne+pybJI|DO-v-^fz;H(H>-0sYc)ZUSK_VA#mR z)EbG=@^YJndwC2$ww#b{uw2(!b-@Pr9LA04d#Xl;th0imX~YwNy%gS z{xOmB-EUz|LQ8$Acyf4D@NBckPCZ+CVRAC8m4Sw4qe$JkIXsyvGltJbN=?{s+i>3C z3&A&slP8mhHzT)Gr8>9N)VfUmKUd159&X@l;$?x{xs#7KbH~s(^3Z=8d&IIHHB`^C zreC=|HTAx45p#xx=a-#io*MeOWpl%(#>W@47S`+NjodtDT*wWN%zdxAMCP&?M*|}w zT^B&AjVxIzD%y;4<%I7;EsowZ((=!u&2qy=#vX$ zle0vg|GAR&ni*{*IVSRUqiC(EQen8w7NQoE^(d2*dKkACp*QfpT`j}^H4JGQt*(W> zB{V%Y&D>No<7UfT*szc_8q7J+JQnti#F%iSv}bB6Z^2mV*;(b~_^o!)s}JPNwcK#% zY`0%#MY|as@Ti3tBd@w1TG1ywEU?EeHxE<2lIqJ#HS%L}+F_A)QnrL9zHSQ*>6KDG z^)AtJCN+(E;f0z+xxmgtiL!9pksL7N#T81c4~Q-zO_S+Jm}0l4@3bM{k=x65@*(GHXnD(E{c-n4im<6FUcxt)+Q64ig`xl-{4K{TKaXe z+H>sVO-; z_&S15-G$qZ1?uzl{C&s$-~j59oV2w(>JjAks^iG-Q%{^UwGcaUKi*XcsJrogz(*AB zF{_#CNtn6k;_aLB^&Gq@Iu~b%bCEs|f2ZMl0jJ@4rrNC*`r`1W?IzChLL zWwoqEfZ?A;$4B&Y; z{w~*Dz;yxF1zZ(Lts#HCAVUIdw zT@PQzA?rcxnodzW77wV0tR371S}a>Bc@_$Ov4k5WyvW1UE`du0-y!(0#TzuYq9vdy zwJ-2~z40>$FR3cW8zWcXI^aPSZ}~DXMW-A_`1`YnAF27KTI9XH_$cr*TaE$KSNsgZ zKM(x`_~>lrd}7wmRGatL6~9zn-Zz4;sx5$jg7mx|EY>kEy^ssM$8Z~df%nQ43-pzO znGl!(ELTURRS&7%6%G2R`c`8r;Pu5T^jfsMTlYyX_Ilq_emTPA&jGo~#!}^KpZ5`X zjgP9)@)i0a^^@YC;f*Nv@maO2J`Dn{co3N$=tEMk}L#xaR~?uu2&xp?_nz?+LVS}%Fmm2I_HR|N2aQ@4ZKl~N=5Hmp9fY#cPtJ^d={*WT0S zXOL(6TiExznr;V$d&)j--KyUReh&C+Flr0Dch-N&(!T9)`I=BWVqK|u(-Eyb?f3dt zJ+J1NH7xuY7M>3aZ};hR=x6GXHvpeCTl*V)4TG&EhdrLX-p|b`@*LE>MRc{4z0QUl zmxHPqr*l^eovYOv-0rzf;MMA>s%p=T0yk)mK5hh+Jf^$6wWn_OwCT^x-wJqF$$;lc zaBn*x%RY^80^!G(?)2=_{mZWctO))Len4{LCBO_yy?_4uJR9^6Yd+$+S^a+5T?l{R z)Vn?8!&i}d|FVZXN0Afn;_4f!pY(iO+H;4rWUqJk(qDSm21ujcjXRk~_4XiPE6y>F z>T7TcvO!;lQ-z20A7=dqbdD_{z7K6Us;@(Mfp^i|#~?X;Kje^??}um~sU7lGoc^5k zS&`xUMTQ@c@WT>5uwRo~H*W!tSSIfMX zo0z4VWls@4S87V>LL0K|Vkx^=@;7LXQGSkZ1X6jN&?NV&XQpvMWMt>plRC_u= z6ZWL$TNxdi?@p{0%v!B?Vg) zPrHgF{}%O=@&>&{@rUAN-H6vw=6!vDS2<4bNTI4HGr`L>mFp8Dq#{;>E+!2)l?+~@Rl(*7HT z!p#!?xP%W{pRejrgTjG9{iCYi6$}bb2Bn2;`JW2z5Ki7@ zS)q2nP@B+^`M=k-K62mz;Jfw1f^V~a*6{Yi$EB8gttVz}!u={mq1TM0gpkbbo)}D|So{+JAM(TZ8>g`e&SA4DT1p3un@Uql+ zK-Q6Gq~3#?cM=cE?ZaoJZ3i{)9zLU=!^y`pQp*W}PlFFwk$u-L{`bPCt%iBp4~!S@ zv`gx%LhVly_F@$tP^DOxd(@u=2%EHAtxqn&*id6i?3<3*`-pr-*nD7iVT06wk^w$lb1` zLbF5QQtOdfpVvz*>bRl`Kz9u&x)=G_6`aXT`F_b+# zt4Cew`+Czc{cEdh*?Ws#)4!UJcQC9s7T+Xcyc6zw9dC9`_}b5%uOAT3+$uWc0pUrT z^@$}vD(XWm-|%iVwaBb_%}TetUbI!}%J|l{sN%W$daSb<-%5nJ+Co;P7lYEy1>QYa zzlH@fY;iT;YyF{RMe$y1e91uZpp6+{GE&^8-+)}T=|}NKNSpR7`Cu_+=?49j$j?(E zGh@<{F{xd9c#~+K-gNrU@S*3c%5N{O5UXh)c=eg$xdP z-Cd$Ryuoy}I%oD>SV<{+S4&T8Jw{WN&EHmXwe5SAvrZyywi`ZpDO?G0(xu^GdIja4TS4=~3U-%1Zz*sN7ikn!bDCTTAbdk^Q)= z7YiUESCw{&oOH?De@)81=6mKM+#D0TOM4G2x}lV7*1pouO4-j^cQ@XJFxP_5T3id- z^zg#_fT8YPsL7KForKmp#}#m|8qXv z1=ItJ3SOuxE^GDtVfIc>h4t&jbIK~LS?8Y)czp5cWt_|9ursMY+w@Z3qOw|)Dp2=Z ze7o;{i|@$YZ}F`1ev2#4{TAQTyWjdG)}8yUM=yK_!aPa2AH9I5+Twb2zr}O9hlRq! zLg8Vd@UT#L7!*E;)JHG86_8~gma-39JYSpe@MJ5a&#d`=Nk*3f-s<7W$zBgnO!j(s zQnJ^>6Oz3io{R*rCwv{yuV&5&V9)Uuz;bmV;3?|ufOAv|uu{DbFr;n=T&NxZJXd`O zaItz3utpV?<6ALm9$<@V23)Ex1ze%V0Xx)wz%}YH;9B(@V2{!j0X3>B0moE3;BGYt zc(wX^g<9bWb zufD6_4*bhH0{Ds^1AJBQ#m6PjvM!k&fL^%;nC;dpGXt0b-<}mvAGCf7xL?9|Sg+3t zs;51#;0t57c`unARGq$8DzNVqxJh6Xuo`>T-vO4W_sTFBLbflsQrQ$_^iO62-HQy zdju{Jc&5NMf$ah#0@DJo6}VsE5rM}A{zRZI7HR^|6nKTew7~rWj|e<2P?a!$NZ<;A zX@UC%>N2LPfaDRlpn~Bxfnk9U34B(d3Nlp-Tp+MbU|3*A-~oXT34B(do+&g>Av`jR z@VG!Vo8gea0|Ji=RHqW3ogjWa*E#P=9T;Rc6 zTOr{q1YReY69PNVVCwNRSn7m?)tL-0Tu6NS98x%PF5z*3Y7xUB1K(1DJp18EK^}p} z4LqL|R5f8p;E8HdQ%eLRaD~7t1f~V<7kEVAae=Ca`L7U|7Pw#F5re5^>VAPo1RfWt z>ZBHdR|rfCJYL6kDtxROt*vLC;{qRUVB11X#H=u|RVZBeLt+H(7kEVAae-JC(JOWn;yh31F;C_MXBFQ6gg}^HWrUf2ZA$<`T zYGck70*?qhE>Nu$3IbOMyh31F;1Pkx1*&$*DR70rD+Hzm9uat4pz4sE0#^w9g8HuV z>T`5hNA(x=D>!gI#d@!GlXbK8i1i)o8SAIkAFV%G=XjQSzU}!BPocNeyTrT7JA(b_ zxbI`W`+VQU?`d`x>?!z2!5sxJ7L*iD6y8vHOW~2i?-d>|{7s?XU*=!nU*q585BpR8 ztNmZ||EvEO{{Qp`iyDeH6eWvx7ws$BUvy{DSBoAiDkz>;+*-V*dGJP_h84CFp2jM59@dh@>Me?^$r8NLT%+pnUp@ZADhm(ma&-ZGrAx7@ zF2kC-5^svOV`b^UZvwBzZ_KX2_vO0q`x|(Z7QdwPc6dPhkt>XSL^1XnsdT#=>Q|Emc;p=N}0etcFPXOMq z><+-o=McW?WvQVu(p*#ikAPn|{cga*5aA60rfv^0_4o{iH=TVS;H68y0{CkwbwTw5 z2(PGOd(K?)Ex^+np9K7E-7|nK%YF)YP2(>BdkaX%lzroT;@4dCTfo~({|MMFeZ0iS zJni#I|MZ6c0Q~NJKTaGTkkq0x0tmmYU?$+>vrh#)coBPX>I%Ym6$#n`#<> z_X)<7J*8 z$B7i61$i$+_$)w6osCaN;=B{kf{j^$@FGA9@;?)BnS2dwIiLl(J{9m1P_-}vPD9Ra zKufIyZ4GI!Lbykr4!8jycCaAxX9D)39(XSr0gYH~cO2PRvP5U4?mxZ%)AGvv5a$8Q_QT z9WM)C@@hk=&jVWO9?VmX_u<+R{xZKQ2Aj7N;X|0WIQ7S@#dlo*E!;i51mS-MwA8oJ zKMfyuH^Psif4G$bXsO51KMTILUceurPnP2Q-CF$|&{7_FqAcjxw*j82F9&`Oprz*P ze!vP>2zDURTPr8B@>4QSz>_q7PW3(&$%?)M;^2IRNl-V1oG-V4lifR=iX zem}z316u06`X;~|^#_2t3DCm#M)o260YGqDe;DC?fZ(?N2;hhH-ve_qAaC&83iuED zV}Kviw*h`!-wyZ*eE@lG2ei~(`cr`S>N|n?0-y!2)?I*)!~bmIBj}(~2FPt8z6P-XGJdu`3-DZh4z&G3PZwn5e$OJnFL}-b{Ho`C zzy~}_03Y|!3v%|T#mL#C zs*$rt)gWh&szc5m)qtEER10!$P!}NQ2DKD9H>l;vxk0T!PJAN|IX9>d+q@D_ae?Na>_eVdM3r+VgjLY@ZC?Ve{m&wJ*3&+)c;SHRc)xc7(NSG{j|3w$$t zr~3MQm;0i=5#Ju)4ZhF#4*9F)1>Y|?Uf?NQR=BEgUE!sL zvBEutA1wUG!uty6`Rn|x{x<&(|E>N5{`>up`P+)Rir!K5V$rXQg2lDPe_tFf$&~CZ z`C!Q{C9%?vmG+jsz3kdDZ<=Sc)QLQ|#mk(51GpPuA>{mP2sGi$n7Q14%K~d~!aF%% zB{Y3LZdKqsDT|Ms!vZn?)(4)z>2rR*hJg8=V}8B;I5}3(Q04d~&smVIQ^DO+ArGfw zq)%0sKpnID!rp*|wW{g8KbZ$3`LI)m`X5TDN+KI z9MfIC7QN1QO#hBjMRUok6j z9f`4Z(Xmy@@JMu5BDo{Ad@!5TxqB=b9f=N4tRJ47?b2v66-&e=cdc5wIy#2T(KvDI z5`$5}*VSGzDaoMgfbQyykB>x?;ep{OVjISz<9v3tCx(Zkkugxo$upKnGPX9B8pCrm zJhmNVmpAwK?@ES8Yt>H1M*92Fneg!NM6K$MMUshBVrZ;-b1Yt8r@G=}fJ;Y{iJ{nV z^pfbr^2YvtAa*#Ru8x@08BR`IQ7083)u{j)#l? zay*udO1x_XW1fqcerRf2K@ET1iNW#V=yJ8XT_|;Rs1yj|(K8$#8%iWc5M&h;Mg-Tc zZ|msq?(FStTMaF?as9=e?S1{do4Wcs`}?-^bgK6C>-sjXU%R$*qltI7UDn^z*0)CW zPNc@7Bh{Ou1J#?l)VfXUy870#)T)hb-JP4)Z@k3da^kDH)^_%{_4RG+TDb`s*R9{! z-L_VBu3O!;uCxEr&W*iY>(`m~w6*s!+<95g+VvYz#zcGj*7x*p+_cV#x3Ax{uFr|s z&FNaNIyzUiZCcyczqxB&$NJ5^{oU)=t?%#X+Gt2`?CfRYDpua7NG%`J*V*gzzjJM8 zcjvl3B`D@}5R*Cr+F;uHja$^t@bGxFzh6be!s7Pr;dnec+z}oNE67Q1G?J4v$aI&T zY9tj&B!^=IDm8#1jW|i}L`qe!j>efAr>CaA}L5V5oAIB_!yr3 z@V@xxmwue)l zyQ7hDM%c10!^zk?5tj*?6KA@uUs99vO^07U3bjiOduez$HmKT?+n|W!V;jw7r5%%|T^w(!}=RG{l z#zrY(Q>(QF!sv_SNz+qPQ#K|NV|Lv!*cVeoA-mX4lh!*H9vhzqzcHE`A0C@Zi*x#9 zY3ri9rzv6gt33goGF>{^-II(C#dc4v&Ee?O6b>;&66$+ZI07?hVrmxZ>kh2`(F3U@Rg#M6Q)oZ`a)xAIwQXy}jX~XbvWC zMyM{E-_-a{&{afhV?$9+<7`S+HXIDCX(!y(k&Nw(CY>m&Hs+c_^~r1`Wh2Rf&YiKr zXdE4KhK|}~V{|Brg$md{C?7Z04Mh-5x^b)uPDWT*$c`Gy96Yt;UrZH<*su$}kC~Zo{ zdL!Gh)8gopF4V|S3@a~U=rz|6)*|tZ(UHVXS#+`}S_G!VxLMgHqs>N?kHu4h8G|;F z04ujwP8nJ!O!3$RId|ftW_49vsY?^s53o7i(3i1M1W2PBYmeDMsQwYzNeG&gK?1By zBIr^!Jmerrfee%!>_axvmCE6^B#$}yh7;Rd^3I-BFtYQRw6MBa$A^a{GUNnC!ze8% zRt>E;9E*rqBser!o{%0IM-paxbBqV!Ty7j?>}F5Gc0`B5U|TMhw45oFCB7;dgR&l; za9WU6>w@Tyldb*ifP}D7i1tCr38(FfrA1uN-xMr7ML}F2hakg3UyJRjt?4DW zISEr#LTuQ&=q?GjCq@RCQ8u;JW>c%$6G^NS+~2A$ssuZ{HW3LAcZVa}r9c9yy|7dK=6;z)BVjEZA`q z>VhGh8Vf@euOE`6j_BZcB$`#3J&9Nx)>mRg5;1P_KIK5syh~sjf{`jN>(L}vc;;1%_Nivw~LUzQTT}<55@(Mqi3r*Bd`}zeM#8KNd&N~ z+ZY`u24i6_ExjO0K22d0A!YcZ+7TC9#X7^G>{>l9uWiH;Wszq3Dz@xZ)7( zO0A5Jp+)vE1G5&Bsw+Mi-HmX6*xtcn^-@%bFksdCfp_rH25;%ksF4C^UYl75dq%40 zj6)|eV$XV;iPdcU81U7`x|19*#p&9O#u@96aqXAj=5SJ;(5=Z--}dmB?bejFgn9cC z=GX4f=Yf>`?wuMGjUr@4OW8_D5Jvw@ZV7fP`Q)hrm>&a#p^>0j9uwOXtPdzTqtLoj z+f+1}>McepTV%6|CV#u;x*hbARX%eta zKS|+gBuJW15}*Q>z`Cv{a~co4=S+dLRE&t6Cx6t~?SXHI2n$U~s|ym&ts;5F{U_f==$i$W|~&%;H3E-2iqhVijd0m`w&N+e_}*%uw5_ zJ6BcIgHm?-6nrY1V{CgACeaSnKL&THghnRhVfJ+-H4PO^Fj_`jIm{}XQ-cg6oe#M< zDu|8*eE_PWNdCRyK( zlXfy1L$xi(`z1x~+T5n~!+NCK*TrDF1l@+ME&R-o6gOdQVjD&Z_ESo1IxyTeO~r+Z z6^AZs#eu*~6X&eLLOI$S+XfGtN?;-3$x)t}TkWi6jskP6*=kIQcqBH;f}{PbWu;C+ zImOo}JFgrEma?8QLFjPRkDX=|SYr%vXFu$a6 z=!=ZnV=sG8H?|QQUMSF{le#Gmb0`nPaYG|bkC4O8^tUmN;#}ET4u;}uN4cEjL`AjRN&SQ3vsM>l z6DEz`8085_B95j~@nwxT4uKoV_FBrU@3og#iRFfEEtrckXQDYvdZi+nw4jqK)kU2X9R2e;E4{|m0d9%j3d(^3L=${jdz_ks7 z83c^?3e3eu)-=O5Ip}i9K~vr3L|40}OAfX-8pig1y*M*rraNt7St_f}-L|7sIBguR zE>4^*#+foX$vz=<^JXWa$r;Td4TagoeJ#CKlknNq(GhJlPj@v~#roM}D=u)G*SThUht~H|PrqDNnBg*W7rJIr`O)i?!-9>%qqE_NK znpYxVtBi!9PMjfd+TvoO*))>LImD7#nHv`#;2@pO5g48@2)4=YFd0h$0TY#LD%Ku2 zGFC>hpN>Ms$OeE4+O9h)$@ zpmWq%!dB#tHw2-7kxBkJ`#GDZt9=-LR>vNqC7w;f<_33wjA>vb217Yb4ntx399;&TrD+62 zPCd{-)0K|s7|tM44sw9Ua7gSOg~1daHv1~o3l&6ba(!|W_T)*3p*+w=#Bl~bwVAzlI4mZWwt)>HOIh_hu{BPSh6XghIE z$ccx8>vA&XVa;wO57nPtHnFaZC3yubsi-83TL2N`Y36ZC7S%s2K7(wccx5r4F#A=% zaRYGPF=|#DJK`K*xYmi25Z)0b(vCVlMNIA-thl*z;%#(1;Al1nWdzJwE3_Ror%3RN#zyFCf~8GWWM3l?FGf;{A#aDx zgtH@@aCQ(k>!dt;VXS-{JczXqBaMWe%^|EuDA#sK2(iwd%|5zw(9ZTGyPw$@jYN6m zDpsyJeKmGPeb%C~v0al9SgklfG!!Q%_3nt_?0V2)$>d~vH91)_gx;>x9Hpu*C#Nmj zoPe%@l||AGGbLxp>10&*-}~Wor_7@ zcah*WTbtMg=F@KkVZ~k;t`i2pf-KW);}E(G_9#4BqOTAWJ<}b2hZBm$5$a4P0i82> z&Jk#IsJgt1r4E`ZEvxpk_dr>|UU*zXEqisXI_IQzY2R|(Xv4Xa+#mfb%9&-`m{`^J z#=^LBotU}1`nM;ae|rD7ppQAg3l7=gdJ{BrSU8D);?9*JtL8zAs*cFRW>F&UoWNiL zn4=i(?qkdeQztuY9kKAXcp^0xi=@OGV2nb9$K=LdN+hQ*fqQT;`C)*k6wMAN%sJ3G z93I8ZxNbNAVktWh@lt3CR&?7CZk43+Jva7>XX?vFICrxV*Ik}PIo4_xVOu-d_#~@H zYR}#wNr`!v%`0|JHa4jwO+}d9NjIJIFB|JmnMK^R-_;fNm64S3F2iHBjcy~83yTG> zdw|!wolu^zyYgpOBLd*K5lm622Pi2MCez_lw-4Y_3NGv1Xj>#QJ~9qpGt3jYW1fQ1 zYX|z{30wQ89D5KhpZw(lBM+M;D_(XVaj7e3)3iQ5Jb_uBlg38n-vLw9`0L=_!zz`N zF*PmL(TJ?3A7TUXWe{~ZmK38RCfmbTUo*mg=$ z?mtsF#)Qfsr`n66YAh1hhsoMKM9Q;KFPgml$#c$=YyEdUQw zQdy(KXkuH0vZ)vWlg(ba#8Sj=4J;Brw;PAulu{$uUWv;U=eu0s#<`0(h^5OL`k{Pc zc4v&&6Q=-n=bc+XSsiM`GJ88H2j3r_CUgD_vkk54$%@$!owO8EDZ(R}QsO6u@|gZ; zs@mCciBowK?%$-8>jO4%TlP$Z=5rV_n6D7?mpWG$$RVk_^!-((D0$flY@|FVN-?v? zH3!>HZ*WdrWYu%`qsP+vZuL+7<@q0)guVF$whB zEqLfT!&jHuSb`@fcJB@Li7bV9WjD0NVM7P@+^8|;+Ec|b>I67hbT7(nL+suGb zNxO*I9Mji}yP2dhNsOTDU6)&RcC$KZoQ=^7vc~Ks^Klm;LWM>xWNU6)%%GszLBw$3 z0vWP1-|TIKDLjYC7r-{&^oNcK@3upf9>^-TPB`jMBpqLj;X+nIL_Uo$OvbswVrQ~_ zTlVTm`NLvjAE>}ffvut;j^jIA1U72k1nm{kPM~UDiPF@~Sp~2@j`xVLBw&nj!e~P5 z0`xGKEFQ@bj0N01(7^fQ=eVq@>EMBr z0!O?`c9a*_MNW)) z%?e}Z7DAMaJS+-1ZVEdePm8f-wqxC{S0D$23Ba+mF<`D8;u^#rLKQ@!t40u@k&dTa z2@vTwz6=u-qf?v?CLZQQ;q4>a6K)Gmeyk7IC89WDbFeV}oM1;ZLY)X2U2!MW8Q&R8 zCgOrc){X>hH|8LJ*6)Ju$-_8P5gYuxyF|1%2D6D^T0UY@?rcVL?ax*oSu9!~AIrwr z5GXOW$yQ*wqA9noVv$@CpJ}JF z(c^6XGuckUSq{fvS?bMm_isylGKc@W)TeU!FHp?obZ*wA%j^0bUzpk$#%9*hF=D-9 z35esW0CWbdbJ2_K8T9Sao$Q-xxiTOXRgU;;BW04&u z%j&4y-{DTnSnA1f{2*lZgeS?y+B-a~nTWOxz#@P(M8kmhfasy64qF3XfEwcaCW^9~ z7&ql#(st%4Zfu(s0~Q zWD#M9ierQI@_Hn6SQsy8L#*VAA&#K=)`j!tb@pToYtky&pPO!SW`Il%mgd1!Ebh&i zefZQQQBZZp(sf7+u09`UzX{}Ik*Oel4aX5+T4W3e7uO$^!v_~Zk)mJN#b7>|(_t6I zOgvR_G3-}9hI!yOc3w?zv-XFl!`cjRv$4Fb%w41-WxW0&8&F(mWwr@#N%V5E>HMwAGwW<`@&-L-62d2z*QM9Vj)k z4d0^KrpDC>zU+jfQ+!KGof$%G9A6V;3|Cv^Ie>J=#_{d%VWloSd7d$~UGhdjWfWy6 zP>!^c_`*Hzr6^T)6~0Jy4X_vBPgR5f&$s_ujYeZFHh}2m^2t>OTua= z{$glLSPcN;yHw|x66^^!BEaJsDRPdYR06qUY7p^3eE6vyarR>nsZRfJ>kK7`2}^0V zo^&Vh6|E4yU%{FT2Mj-kghm`Cq!;gQN4a>GS`v9pkE5uW<@n{Sl+;SD4oRCvq_#L9 zITHaza*XwiNtpz4g@7kz_L`h$4?_435vh%V>NwKya}{N*(V?%R`K?JIjkP)>li!vE zTEkwm9r<)Q#%u%I&$1>@!fuT^uL~izG>K;zZR9!D{bG$W^K=2FRvHBh*>4Kan^pN&IO zIHtP*4WGkOW|#DYQpEAV*$hgN9wcx^K1R*$mXriqZ}`g^Sg&g9#aBvJp`V-4){XeG z3BQmQ!`QHGDg5C=H*nSXo=GQitrC8)q*J>(l{_OC$gg40NZ`LQd|qWIz6e!~??E}C z8l^V(f;Y@dj<79J(5D1MfHSSHp2D+kq?0;610c^fKqH9*kQLHWRjVaW2WY^*42ogY zvkp-DSmN{^oGIe?lbdSp0CLCi9V-V@4H~;i&9f7Kn6FxSSYnmPI5b2dXEkPXk;4sj zS}!P(L%UEHrHb6M>CepPi_Fs*mm-flQmU#Ky}}LD={dM)Ds}1ujx9NzQ`f8x;D*o! z>HxSG)LQUX)eobG135ihqH4kQ8o{K%bIt^lryA`LEm&xBOjow8|UEL zXd~d(IS3m~%-N2^a>!grMxVMT1dOY{LXZ&ZhwZ>~CE_T>Y|R+5>2YkS&r?c!c4H0? zB0d62lu}4zYr9b793W;JD1||R($4v6@Miw!mV^YK&OWkC1aK5NaoH8LO}PoBYN=x= zJ4TyQ13DBbwNp#0GDoYz7l`s*(oU{TeW1hDmos*%uE@^F(|bktvYopitqHUW7A$I| zE`Zi6;`|;*Sd~z!hlTTM2HVbc)2xH4VkJTx6MoB)ZC5i4M;tuAAWV*MbZHS#mpgjK zsZGt`7l++k3bWgu3kca7p~~=p>ofJuO3=flEvME~+k|(C$#@S|v2)%eM;18kapi5& zdfe#da8?+uvMI;`^%++~u9lPt&TF<4mO;Ivt2pAsI=01PeC;n+7cGNcX_Psr<~n71 zB|j|!jw+~~+ACvZRu{_8HgFxfK3igPEozZNiz7i>fFn4aY^ZdGOEQO_UCB3DVuB~u zEZryXa0m*I(~#m|m}462E{?`HFrpp;T}~wqCxmUoI>o8LiCR64__8Y$6i4_cFYaw9 zH)&x?|Byw@$dIhVeYdL|KX;^!-9#N@tc`QfkYcR7Mt5+$CbNc}HS$a9?1&=~`E_vg z^YxXR9>UmCLl{3*ktFRUyfBv2@B!7t1h)(luUv$H43#S z?Nn^)5vQ(W+}LU%e6=w*rq>w-Z{BDh0nQt zPGLo*g_CQst%oeU1Fhv8R+miWEk0@_{bo9O$-X=Mc6vRPyWnUEzwK-5-3o@uIa1>o zs0Gx&36UV$)6PgzuXDw~8t1_eu6oek-d^cDS30Jey~WfT-Bxk#Ox`(}ouM;+xUBSF zkfG`Lsb)>ZqU|#|6Ww)_Gf&lXBzK7tivUj6^i%hWkPhs8^LHDdGxFEd2~DxUbLTyG z8!@!jSTx*ma(;1jKnvdH&e7_;Im#I4u_Ir!y}5pHC7YZ^6+4Y8JuP?6=dWF=$e9P~ zR9eEcZK;8{S2w!~HG`!c?TeLc_2ik9-@fVF;8=IgoB@A#{H=OyB;2(mr{RFKneBG| zo7(2dR9rbqE7&Sc|X-5INiqd6-vpJ?3XD7@Ab-~mMXq6b<{pXuLomQs?bvzc1*GKz-2*Gb5&Hn+jlKP+%1I$^Z=n``RiCQQGMI;((6xb2wQNw&acAzS3E;>OZ- zeOoRSr=!!?OU>Z!r#3-H*t>`s)EMsGS*_k^_uZJHW(DE8oomH7YZ~|cxt5YE6KX>~ z9ar*BMvEi--$nC;iwDqZ7J4mJd36` zX2LUfetB6*&s+88^Uma$bN4pt)?M$E=YES6Y0&5AnalxoUc0R0Tt}QfOzr`DNJ?rm z_vH+6L>yCmV~(`Ydr98AGD6vLJ&l~bMhe-wwP+h{4Tax?V-2+P*uGqfut3J!z%3(L zRFLkwz+qp?gh1-GU?4UgJEP`_?E^AE` zE#ZvhBAJ5Rv*!G{%KlJCQ0F=0XXY5!DpTG$DR37_dK@@sX&X=W%5jY$wc(t4-Tg0X zXY0(or%_}4&CnKCIsI^!;{003XYN>x&z|!|K+;H4@Or5$1INXrcrRk^^1Ya zzG{wu?=ASn6jg8LJM|~^AbU&R)8KR0LvqV_%jN8+^UalU{A|>mln8g%CsfimnM1J2 z8w$sp<0yb!rRgeC4h)?gZ^p&xY)RON$p;F~QJhX+`{sJ(tmzz|{3hm0qghjo;Y_)t z6meX0ca&znICBYO66pk|C>h-E(^)iua*iz140rOr*{;(baBCO7pXr=Ep8Tm7y#YRy(?p9dMAg>NKZrstqoU?((Th%po<6EH%S1Qn>F!i^{m;GmZ$x9CJ|8W^6_pm6j0_ zHKPkIIWyLhUeXTk7~xYTG#e?FsH2RWb7|6;VJ;~%m$ats!3-`VG@tC2&2VUN34xj{ zVqb+XOU6K96l1ys|J7prn=!IA_FpaVMqZZSDK51cY$q2o?(xvR^Yf>@vnZJ9PxVjb z%63YNqxnuXGbU8bJg%&s{s>ZY<=T3IC(uRIa@;&FdCZ=w&NYO}Oo6TA0kb0^* z-zYg9gK(O&$f1sbxr6 zok>mVwuDoBYB`GM5dQe&YKwB|eNz{e$tQ_sS*AwdtatVYRQI{c&%GPLa|QQQ$C<6v zD^&lqC%J3kyozIHGEU`g77D241rDnwt3#S3q@mKE>BED1)wS0`xTrL>;byhr*qP&7 zS`lWAGtFV8uELu-He6ZgW;8mSN3T?1xaKTWcu|hdCdX6G%~`(F6KmY+waCj&xFZqH zy2NWpq)gg;(mFDi8;IeiWgDIjBlRqYPVVYPM<->)vBlg~@2{kONhgM2vK#Ba*wPK% z=nV&oS7A;jCR|fFDvl62+;Mtodd_QBut(A#cyj}8#M*fDDMb`?Ho=*@E-3KFmJU zz)s_3JE_|~`#R@5ITLY)h_`g6&3EQ`au7kGz%Bmi^PGO3?HN5udewPYM~%PNh*w@q z7P)<&syp(|?W@|v)HO~3_9@rzqb@R>pgBz*JDfMBq|-8oLPWewMtc~sROfR9oYO!~ zVq=1myADmW>En%0)wmJ${b9j(@V^_7dq5bTE*?K#irfF*? zA@#BGa^;)o3U|CXm8qbNJTSx?L*zWROzGRF8w3g;^%u1sC*NQ8{*aORrKms1Mnl8d zSCO8hIl|D5>=d0aj;5j>HOmzpm6)he>a~2gopDw&7i%;Wj4txEQ+*M;<*eba%pQ!+pH+F{HMxpd_ zjke!-W6A4F_g{9W@`kkb331C`5YoX+ZJ;Ei zX9Y8j2)71M+A5qCoL~eQXYvMfrQb>RhZNIhDj#TME;kv|C+zg}i2{=fJjl&d5)F2k zXt1N0rA<8r$`impZ=nuuA+7X}(6-=~0Kf3S_H=5LEgE4_{#hz<0 z1Qlxn1%*~su)|+m=&e|TYN`Sp!m2=(r;zk3_PnQ1c`Dfqko5S`OOFSkfFC@DoU&!0 zQx)(RD3l7G&OC&cR0b+h#EA&VR111Jc+&(Odmk{FM{b`2h+c+NWaEr$*`mkNW)$- zbmdX8XCIPvrSS5oNjO@nJfLAnJ#U1=0U70X!Uiu(}j*=w-gMmQ$3o+Cj7SOQBA&9a^^`k*PuxtBhO zc3^s^4;G;SgBTf+)d0AJSb3r07UqZ~LKHA9Fz6WDkBC4#OMz%DEDZ!R6(R(gS+goK zRZtlVf{X0XS;5R%QctEVm?@JfltC@{e-TCp1x@ENb6JY|Ljq(LDSMY258hBjl) zWoAk2Zlg$8;w+~q0;UOqp)M;k{p6DqI76*s;ZY2kUWD;MumX(U8cd&X8|tg!52<^L zb#SW>AX8@ZU8u1Iq>5+yMf-W8w9pdz=@TGis!E?ILWhBK@NI z-_H1=OkvW>EYuK%g5XxGfciIcE~2Lw76#Kt`G2NUnkW%N=XfxEoPFnr9z_9;D4%TG zahv+_Qwxi$D*eIpQD;@~tl(MxV5WN0s@vs#o5Onq4DZ{D3q4iA%m&o6p%Akjk3gW%%cp}r4SmXN3Rs5aoleg(8<2;3 z#pAJimFYCS%5*x24K`v!Dd)#=%+ceNCaO7TY3lf37+J{p%CieggXu%267&TBFQ~-$ z;O|8v4GSdR@vNwU$la9D zrK~u!IG7osvag&Y`e)DGTvB?NS)_t<-{|U=a-$T2J(AKAY%%yAG?aqGDCDRG3#5}F z7%nN~h!7oYDI!fUrH3L)b=2Z7#5%{s%0gc-eVviN8}0n*8%=j^v>Ab?%z+!t@+d2% zX~CiyDBdHfi-L>LRkP?WnpNlz_5{xrdZNUzj0YF7>*sQzN9!OmP-3E2%fKjy1eaLt z56p$M<&t#?LFh3PzDQ%hEkizx>)>v?y>GDZhGhB;tj1VW4TryIcjOH;BDlK}A|A|4 zI2mPK%}ihgFD?Riq{nZt$$cD`@G15fWEMCY4l>4paWp8DXl4O4lOQTG*U0}{DqZor z#t}aRSO^(JQnvV%_Luw7Xd}6u0j_S8;m+BG1%C30kqyFx45yx*yn%~nrc>7ZOy_Av z|7T|=Gh+72A9N>!(EpE^`P~V7sDLX4D5sB_&KiyN9t4XP%Vm*$LuPsvCQC7_B^VTe zU=#!6$7;q_81se+SOzg(3bs&XQZEo zu3__06?)>6AlI+-(LfNRZYGj}uudsIm`6Qk9y!x$lZkGsDhviUfe>4Ze`b236ii*9 zA&>}eLQ`QDWex;j)&=)G8%*zmRi@Azj4kaND4KnEz$ShPC=12}mgQf__}?4E$hlHP z{T3+U>SUH?3xW~Md@-0g6wDkZ$1C>yx)k<9F!N+^&+mXMp%~u=-F+K|4t?D7QlL;- zd|IeVgTt8X9A{b(@)QhLo`W2^JuqA#M{fl8Xc^FJHT!^-9*7cf26|aWsDx(nwLaKD zGxh9HQ6Aj?ijYmGf0N~OMtG*b3CbD2X1v8b&%`|@qJbxsZIa*p+fciQhSr5T- z<-Aym4nWyI6p+}8;zA!q6(iXq2pZcME_4h1I#v}b1Po@L4rYE7%sd;+JYS9w{+`9( z^W`BQ2)+bavJ+>7Fuc#ZD53R;|I6>(dg;qs7k2#If6qnz@2)sje1X5P z<>$B0tp5I`>HTVg%s7fBM1aUrO%x{^)xj`nPYtzT%QQw#>iooj3mW^5-hg zZ$9&Zn|8f*=!-Ys{qv8GHz#j@?v7PoT=T@{PtS3jggdc2Hm*JTuD7Y#)4y3)?p!=_ z-1=wa7MlJ&zf*Y0h3C23vd*}a%0W8b!Z9^F_iBuLQMi&kLt9jns^p3M$*!i(|MTxs z&Ud`x<}4x!zX;vO&e_0QoMR^*B>njtreFYH5~Ux5C*RH$TGQBtUD9p3)Qo@6y(P33 znK`h-YQAA1&yS{i5p~{Xv>^$n($otGXXjpSHGV2{TjEj>c3-Ft(y&^aHNQs`E+)J`GF6lpiRbw40q5l<=57SZ;a87!$BUE!vcE6~} zaZ~4|r2h+&LQ(OcO-OY($z=()*2`O{w|2rg}{$9X;?~pk2 zz5k7T{eL$!s3*-$km)ARay8#QW1sE}KIkSpNANv=>r+py3JOk7zbDv3OJ^_q5^KE$ z73td;`y#<%pgIc8=B>k1P_YK_?FAAK*yv5ncMrj{MM$923hoqBB>iGB0=A39!JTjd z$DRD?qeRJuo^+l>8!|B`*Rc|lCi`eqzm!=HBG6+upv8WM?dKw9I6`p1DyS67-0V5@ z-ayel{IxL0y$FO6$Yj{>JBa!$qkFA_B2Ph;hhcIfQ$cXIub>Jx8iMJ^OYIhmsY}cu z=9tCMEg)J$dUrDR2Jt?ER^W&6SIG!61k+D3beQdi{RsZT{s-a_Z1AvEfa8=88t2?G z1pII}@(HsRds<2N6ODXjc$O6@PsQa3a03M|0bH4Mhht|1U$R8#dZzQFSQ!H!7Bu!8 z!5$w#`X(Q?3XlVY*GdpjK@?;Mk-n`MRwcb@FybY(K~nE5gpJ#R;Xp3fv-i^H)&tS8 zgD~+KWF}zm^~1aErc zHEc)48rg!ti42x?kX2To93@Dm!w@?Jz61<)b{`@PTNcE)(UW~o`Y`DQw@bga8+ykO zfzM1(o5buF@3FM&0QxI|=S|1a)B}dzLD1s{@?Z(bo2dZzs}l~CGSxvBXCwAD#wSn-L!>P!KD=-C*ia^OR9(St}T0{lRiP-VP_I3t+CG}5V4Bk=fuovgqKk| z244V}9?W#o8;C7nr-f4n#&K-I@lPMeUJfIGz5Q_!izkW3Y?PXh1}b^uOS+; z2ev2}0ZKngr|&^VK6rqH)@Ak%s6^;mSkbx5DYBXSpBmF4ad25M+ z$_n;iV~e8=1vi)pbMK5Gx(=ZsSJ;!D8OT5%f-Nqa%28P24noAjxT!J~C5k(GI2@pR zq`$WzPz-fJB!Xx*#`GY(0Kp6nI}QdjzpE5n=GW*Tlgb?)iuVnQsX~V8plJ?~PZcTq zRIj6y`hyOT4s2l!frmJbP?CThB^W%g^)UVp$?zVM<3tnymrP0MBh0U=N|6=17)}^h zp#+7=*mjE`z7kBoVr1@sxb|@lR0SUy^hNqkRPZFz5JX5?(CTc_Gp$nf362lAk8>>w zCpm!uG_4iq2-PpLfJ;z1=pgm5sqYpjV(+Ge}j z`KhM>LCoWqT+mX;iqkj1?I`IlIv16QE-7|G>7x=PLo>B*uvJPvN&1->%P$qg!7POq zi63B67}Z&fX7&lJ5O_C}IwaR2KWpOX1LL8@P{`nW z6GLOW@O55X`_?Kj8CR>-;_Pp6ht7>G3f0xr)r9zCUigiz5Pxhlx;V5kF%ZIM{qS>W zI7&wotJih*h3cwtgrEMgR;Miys!PmQ6;0$)`(usiw4_y=H0N9O_LqAn|2EL#(BxnK zT^zE1#%5W4bq)Vp9I}5|ZCN}zj@}M04)u%=;PZ<3;$~lBM>M{yuBpByGFa2tR9n;B z&=4H}8v`XdKmJy2z8D$8m%VKcjp6&0sn9rn`gdChzxo@xv@SH{{0wCEY^^E`(@Yma z?fAU{TwUM}QDp|T%Dg?V(LyYzQOjy->KbbJuc1XAttM7e(*#D#Ka<{A*I3_BTVKnZ zf@TPR^|jGxxW2h&ptiN8VPGiSG*}xAH#gNpYa`*Nnx@7`G}=%bt_{~Uw?@Ks^$o4{ z^+VCt=H_rsYg1iaT?82$hFYVI;o9cG#-^6m`kKZ_(_r&ZZCy=MxTP`NSRZLtItf8Xan?jkLCe2L@|fnwy$i>Y4{5HI0MeXt-&hX=q@uF51%6(okD7*g6o6 zHlnt=Fj_r0IM~!$HyDky422tN8V14*jjgrOmWJkVOJu0NaWGm}8>t(tZ?3B!h_nng zH#dfxng$wM8z8a+txe61_07$7twYhea6<#|Xw+b1bGQjyj)BXOj){19Bo=`f?#Azm zWWQ!ww>Ufg|7})B8XKA;;YfWmI^NofHV)L)HAaW(hMFQR;d+eMQ2hWNO%d>>wYCWy zsi_+Xhbd|eLk*FkNKJEnLpWUDI?!4_Fx1@ASU1!>*jm@r)C9udbEK}dIob^F4Gu+X z@Z;6Bk-^AN>riuTb6rDiV`ELUCftl+uB~lt9B6K8Y91J97;0)5hzzuVb#=A%Ej2@f zwS%pL4Nc*}IuHh^ZA3F_TI*Zu8X}Qsc&NDnquEp&9U5w?3l9u6p(%A3gu$9{eFG$+ zwtfI0+7xactVbk@Vl8NRb4^2IB+`uY0If=Mr5%^rv1_TXuC1-ct!ZeTPKrJM{eK_$ z_Q=7PE;)4L9S=1Oeeb#D$Ddiz^TP-4xnb24XSICn4I>{ zJKyoE&wa|e)AKLa++6w7=7J|?)E)j#ciZwr|Iek8E|mx1QR%EjG4QX8-y4R6l;ZB)T<~jBFJK z8f{@xtE2LH+3E;X$5wphe=C0HJ&Lc(ZjDFB>T0IusU961P`zu~>KdDr-JZ+)?e?J0 zi4WfNjU!)t<3GN1^~!y>mcGaB@7WB8a(m>4=j7y53P0YE?7$D$;I~HbgZFG#RDQad z`Tz4Q(3s2`m(c&(kd{u(!J3ud1+KJ^ooVpQw+4Tg?bqtx=m@m`{hJ5Z*3_lAQ`-;N ziMzMGcw>d{sr2Ky4mU{GOU}dIU;PKAutc%2`@G1ezDBvE;bNyByVNw260;&4s_Il;%mE8uZ)z*8n#>cmN;D z43wqko_9-m-7x2yok(}@3iEOwUDob*Hd*~z6-0TbKDuwG`R>moI-RJ+`P`fP{S$>3 z{;;3R(z+D1T&FVYs>e0ITDk0JU-*;yXQRwyzqjMvRj7#`R&&prhXPK$)pE_07gV!f zyuw{TeBlv2;@w}~jwM(4O+<3l{>I)kxR5#*v=(6!)q$h@W1sk@g!!!9KV;+4fH zUTY0OeiGn5u{;DY&V2T7Cp1@X{btm8UcuMt=#$6mlK7W9CgueQUIyjp^Rlg*n^$f5 z3S4gf>Bg{6k%#M1p8cc*vG>lHGDc7NU&qS}R2gWR9-0pt;b%m$l=AzKD-Y~nohqDC zcCs|&$^y$=AhI+0cp!wCl`loP<>b=n{~bv4C>S0g&;V@C0DWQsJnncDjJyy401MBV Av;Y7A literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.engine.dll b/UnitTestGhSA/bin/x64/Debug/nunit.engine.dll new file mode 100644 index 0000000000000000000000000000000000000000..42b9e1b4a443e72c55091483fe3983c0a506b1fa GIT binary patch literal 54272 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 C+-3;? literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.framework.dll b/UnitTestGhSA/bin/x64/Debug/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..8ba4628d425db69f2fde47427c721770360e91f2 GIT binary patch literal 394240 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%0ASo6DMmSX>3&j~AV|TA0 zMwX7*anN%y7q1w8WF1R^If3kJ4hh{*THp}dmP@gK>YD^rMEVx5{eCE3!PrsLBFM;)=lqLyl>z5J%(S-ZB_abX71 zN`0a5l!680{g9M?lDWgAl1?!?IJ3epbFqS%@<)SwZ9 zx);`vUYWFZL8K#J>=kawJAODVK$1{DF9p`r&>+q1ZO2%>xvo)$gqU97QlhW6o8byo zGTQMxl!-Y;w(O)mvmm&el1v<4T2N2iq{aByy_nI!=VBV87tmyU2r&d=?1t}#PUF1V zjpU+9H^=L|ZP@F*{mAvaGRsZG8Ss z&HlDlmVUue@GHVd>@->Q>lDtQNG@_(yg-k-V@q#OE5ENVJl^;Gr16%0AGqN??zWzu zf!A=1<-64#Y6=ZyG+aN_H&;5ChFb6Mbd;5V^3X4O?)x4xy|7jGln*)y zcV*V8k+OLArx=wvp$nS?ML!fwu^~hrMETx zbUx%gh}9Lej>6#Xp}P#1j>E9@ib)?S8c3d&$Fw4;rr< za=W&TyNz017$5)P{rK?lr|I$f*d}nr_67)vrn{W(v{)OD!;az04NA3Zg3r)1yCL({ zLK_d83ARc|n_g#n=fg`mPxh_t1Y*3NNqwu^vL0RvYU)&dWUC%JZF-S*e0;7Scn_Ha zIHqaOpYP^@FtRlwPkIJoS;gh~T*tL>n~!Hi8Ew}K<82A5>kEGRW>W6!^Hvk9j2u+n zG7SC62{;>+(;mBUeQo+<5Psy0@!Hd=8=4iK_!iH57KtA6;JQ8QZ^Y>HiEb#_3v*=u_J@HFp_Yx6EtWXp?P zVP{;_;W~!1@pOT{)+vV74dy!)$+zr|YM)$S4iE}l?#+FAWfJtz-duXqS`3!WV~b%q zM@M)$GcsLc`uZd7HU4`=QuLhu;`Vb{S4_K4Y2DB)m;a`|^~uWpRCk-^MGu{$fL^##>I1q^u%D^zaohOTU(S7lE z(eB-vS30yFU5D}26bugmzkgChJH+d{p0M7h_cMlxWtvS? z?ds)a;<_fV^!;h&tTjc~YJG0P=o*s`62<#_u{~jmAT)Ovm*nMh-<$G6&XZURtLSF+Se1gx)B(~ZwKmS2KzKi%W&OKMCWv$#MIe}f zU(PU{r7`}(FdKIE`^et2tF4zW?0yWO)r&6TTk zhz?ClpZ}gjzgdk8e4-xuRv-1J7vB_S@xa7kIYh`$&sfhXtKImD?}soh_&f)D2^}4D(VGyhgd=YtI@f8FYGU5mb?h`}bYi9_c}Rro(&<89vvW)T@wz1MMDpd# z^iofA}{!s4)eod;^ zL;d}V#0fC9&}(6U?xdnfK-G8cP;*%!ur_XX09QV}16P+!Cxh>&3ybP8CNKKFq+IZ` zv=a4z$z8tUY8D2$agGAt2FnUhVNAY{3g!v}?|jl0*ioz)f?Dii=bKxo8qarcutoct zg{4p0COikT%!KyriGcbUGR8lW!605&QMfTuw?GUn(pyEH9J5Vle>M^jJQ$N*7$%01Oc{1m@>!+AV=-6{~hJ&3L~8T)USScS3_98(%50#BD-sZb=TOLFV+?H zIPM&Pr!4!x@UgI)@iCJZ4w`V`I1@%OV~_NSGv&Z*PH2W=q=@e+tFu#j)`L?FddkD7CQMcU;DfqlK+Kv{V?N)dO4eIZ5sYqI&D?y z=b1(HSk@@_`IQ>>p*?Qp{?Ptjs_P!>Z6~$U*U!Vn%RAmzMCw00M`u2sXSC?+6H2$z zI^`}weh)3#N$r%iV>#w`Y`j%UXC%*~=^%1WDAh{ql)J<|b!g?plAY8}*%zS2PbfW> z-YNe)4y(}oNqw%I<+%DKM62D%v!_tH+hz&bY7?>+AKTs%CnLu{03l_t|mwNoLz)ciUqn~ZE9o(Geo1>JWZP21jj&DG= z982%W0oh7RGs*?B#XY)OOX(WQsh3)PYdVUKYa2;tkzEZW9sI+XG-B0{`(3r%w3KN&oqb|D5ulr~T)+|D5)p&-%|X|9R@T)pB<0gw=iS zy;%Z(K9vK1Pk~zjA@KO`PMtgW3l&li&%MpB^1iLQ-n&0_Oi}%u-SXe_$-%TMFrCp4 z{nZa0)z4G@L!T6*qxxYi`Z=X){^XxdoljJEVe0&pe$}eQ)#~|_yZruBxq}{{%l{_2 zOn@%G_kRFU;1|EES{{Gl$eA`kAQ{`gcZ18escUXQy0$ePaP3}e;0F{3}?vj=*ZJ& zo~Fi27mq1=@XM!@w-^!R@}niQhi(@&+TBc}l# zd|<^tIP#n6c+!-geeWNu`rk~naruPmJow<;pUir#M=0=%zu}QHB>v)WsQ#zZQ4I{d zI`_8l@5mW7D4aZU=ER9F9zW^x^WN;GbMODtOXnV)IQRHJIQQOX1vO;QuO{~Wf35%L znS5^+jP+Ge7KdA&qsOPt97{sczpqwK92I_FI&^zoyY&YU>&*>v>m!GCk+ z+~b$dzW2|MGg3u0GiUUpqWXJM+4ZCUtCBNk)Yg%61LZh!?(tvy-0@@9pEGB)4KAKL z_{WU&&!^7t^Y=9E8vWbHRsP)D{A%_8;@sP(jvu>t@!WfB=l>+23F;FP=zR zf`6eZsP^KC&!nSTvwuOpBTruxa%teI{oEqV>G;#<-oAA1;D5FM|I2d+|4MuDGeTX(&zybyH<`0@2ZH}gvS0M5 z^870;fpQ*s`tp&B7cXV_UkLK_<#g%X>VX)3|KHk)Q|iJ8C-r;o z;Qu-McuKw2N@{EVW+KbulOXitv-&@D@bOvdethA$Bj~@jS zA8%f?`T0k5>^*fxTl7D*PQI#!&OZJhHSuC!k6$%P^q(mIvE!mtXO5?*&hWp_Sbgg8 zAOACg-(qY2@jrX!@)1U3X$;~i5db4sk9+4H_dff%siVJ{KKGl6|7>-8EbIHP2s=Kf zZatp6aQ5-rTIUb+f6apcXEe*|#oU>^Z$P7Dxu8=yw=MDQQ`GSNvyXqI;W1}x(R9?@Q&y7;*xLJi^R@gpaoZBSVd{Z;<{@&D=M;f$t) zJ~$21JRbao8dbTAXDBR^E(E@)@jU*eivEN1$AwlJo@lrKIrsRnkofTjwgev_;ar6C z9Xa#46Sm(^upv(9e{A2mvyTyc6rfYTLHB;+g#MiQ4cht*CjC!oB~R*~3Qg$zMd9y7 z(Q5GL@t++RIz0X}O$5y0?ay33Dk81*{QDRG-}cT2IPUVy@4sEGw5!!>k=6oivgS6a z38ry$k}TO$&Pn7TbE4Qp!iM}gF|d}_SV5MAv<5qci}sKH_)1#m3aN8Pu1*VAX9jMZ zPMDAmw4^mX)0&&y)VV^3yMY@sV|wykm^!Vw`r3ZJ&-?rBO0pfe9?Z0JG0Xe^@AE$I z^E~hKd*4S6qea{!$#AkBb{gY~h;AiuRWVFWN$b2F-pNRPgGoPS& z(5E394syd+MUgoSovf(w+nIM@p^_{_N+DURye2T3jhw+5b&DVRbdC9Wac|+1d>=RQ!B8BYhgjn`}7|G zase?xg=*>`RMF7dTBd@_s?@Kojo~#oFD{Qc(a6<4!DRIzjUfCv5dK`S3C`6+Fk{xDc=_Ar zd<0aU&)5Pfe$I7EEy6AId`YLPs6D^V>iT8h4m-%aEjC<9vtHl!fmb^02g(_iFVtMx zCr_&>G+x6`b1An_N))4<@ge*I5RQsktqCVr!>P+{&E*Zv<<)HBMzshTD#t{NOKYPD za}ugZE_@VHX+0vGl|g2|pg*|MVI%iSUP|sY;L>41^Q9UB?sx495WECgHku3}nP0D= zm0Q?VRC+4c1a1M^ z$XK!fZA)42{7`CsNR7~=0*)jOrGnE0X|Y(cK31dE!PNw7>LH}+7O4R8%qS%8i5=4q z<1>zk$Y6VC(GVq}Ff$TzJ`sntqd!g!syF}$E6_?6dx;uQeE7x1IvuHGjymak%|#Pb=NAZs z>sE*B5Z@c=*oIQr5tbOu$&2DZC|b+5-4RPGB+k#Ou8Kw}3PXO1D&oq6P}YDr2ZYYe zZ_v$vS{$V$5)DG^5uE@pTbaf2-L+8|qY+5oBiof%k2*b3RH!h2SaNA$D=qm%Xe&gh zff2z!#d2aX33g0DGetm#A!_~%^f;p}oe-$lImHp7B~rL3GDmvOuAJ$Q;=>-5#IfFE zKe6cQuv8#g?@4x2h@B8aEVMeOiTkPplp=L5V%mY0jBs1}0R88y41_lGN5rz-0$r@& z{Ka4uFE&DbX5P_>2Rg6qEXb6UZ?uzq?TMfP+fI-ArBEk8HOgrS&_|@Su$sNT&k4HF z&GEV0`c#|S*Fd&Q1OEOf^`=U_0O?3f{|A*TnTF*@L`0X@;Lz)rDK4VVNYlElU2zeF z4#$M8ew2z*A$B3%gs8<0P&mb-2x@C<5Y(VJO{}#M zzLEqxxYpOTRg1@2GJXOU)VO$@t=wF^DHbD0v2c^H1r7pJ(yxKTF<4+fo1b(y#ZOXk z5zI*y&-hS|m~@&dMXH-T0)=Gowv5FKT9cA?wRU?%d)E&VhkKfL2Mwqxc#ZLTJRwET=FGk?bYlrewCpwN{n>Zg=qms4XD ze+=xYfmTH`L;MRfs(83Aj&NN3sHi(?h>u=nLl<)NviC~8ZoBAO@%S!O{P zn(YFXs3j|0z@@iq5iyGcsp3%;6Kq81fvygn?4g87-YkHmH6Qfzi;WO1fBhC&~8W#og`!^K5y1Cc`s22H!Riu(gtFDctJ!!cXI8#B8;)QDPj9LLmMGF9i;u!&H{->%BF$3)tHMxIY zkW0;9l)Dfy7lE5_!rUgm%b9Z(Hek!Z;sObW_((f5=d5&#ooUWO5iGjeTo+z7>Uuksg0Jy2@Z-Tp-9srGxgu*Z4S9#w$qFlt~K_ zgB-)z=PGB`;s8kf9AxG>hZVvQ``P#n-UDLi#epUH*G9Epo?GG&}9=j-Z+irh7@{Ivp8GZ>aC$fGX&G zRUD|SNwJq$u8w~@aeMNbXq?W_^-00U z$`Is4W5?`b|GH?iR<1uOMoaP+s zo~^_Jq}Q_eFQ*o^IIMsVv6KBQ&4v>GYNJnCYnxQdRytWZjh0SUz<1J?%zwK1% zl$xiBS2V?i{Pe7Y{qY4CdK;h2OrKOYPvfA26H8V!rSqkoYUACEVe zzDq$)ob@_x&df4!i5k*RAC!2{(kPygM9YEeddWqs!on`~5zLIup7{ke z5-JG%TA^U>4ah?Bf@^<P_FJ>kr(W`4wGzWOq{3ES-z zrRU7K>zV@1D*ad{FzB-C(YQ`?Gv}lYUpUInI+t2_(o`1z$wZEiUw^R!!e7K#&w{J7W{b=cYbYM*t)uMkiB>i33 z#@@)Bz!}6%g;<#8g&*@n`BkqYQOr_KH!qw<1=c`HJZ`#VQ>2H$q8m_#!ihmnhjrI* zxMEV;+tzcKV+!*@)lAhG5c&0Q%f;bj@4`Tas&kV?6b%@aXD?XIbn}DPWiMSm_wb3dgipF z7ISI)_$dKRrG#uoVdm1}wiYa(rnJ@fqc(jAYb0D(lZ?i7iiAzq@Lf=!PZK>(S57%MeE~*P zHYikyY1+tpoxvfE+9Sn5oq}uyNI(s61Q84D8R9?0gZk5grKlwd4Dyv_stj@hc|&a| z8l<~(P)&`WUZXC47!o8!S&%9vZ@Rs2LqMBdTf;w#ATWfRi;wWLC^O~`irDYIuRowEhonxDmtGru5r=0|Iz4SY=0=R|&%8{_-lp%xa2 zpQxZiM9aFtWP-;Xg|s;#2?WtfC|*sx$^f@K{zKL$s1)H+Md(^zF;q>KP?s81rq17j7Tc26qu@0Kh(?MW_{Y1PSLQ$x#Tce9D_S)T7VRi0mTrMYImZZ-ekv;HW#M zOSe)nL6m?q{{!7aLN5yI`-oL?pZERZiuj;%5|`TerQr0Uj?|&ljuc~z#e3=9-}uE| zniQ8AM9eTKI%T94S31%#^C*6|7G=*M%?tH4lIFruZUZ19Q%MM)I>^ogkKjP?M* z9X$gDY;wt@-L+xdPKZF{EPf-Hn7}DcX?#;mQv&HL)=9s)+sz%2TYMD?0wGzmOnX>5 zYkA*o^dilrpNLky)?E5yr4_ypML}(75HvA}8$OQwftaiKf+Y%Z=!<@uWujK#puz!P z>aUo-z`d?Rs?MlTK>SxZ+oTGo)c)KPa7_tzuj>rT|CV?ZMnT#e7J1U#V=zLconf8J z(ipHfet@+vn;Sl z)d-fj`bFx*d0@PQ_8l8_hd%70Kr|72DZ-TY4_GMuO5I!+~g5-?nNTcr!SHDUdMTJJDs z_bK@tA?7yUhmXA4Tu_2USr?K5){2PQ(=0LrCutFv>!Yhc9pp453V`%lvJqC&fHsvB z*dL$jlAIK7sONKTs`NGoOqiimt@QpM0%SIwUa*VZ;Mr&U#%j8V7}OwN@+O&kuV zo237=9QP@ZZA5j2UHL{BmnAhex`evAI+sva=Mw1KB?N;&T6PI>6ER<^i9~dLjAkPd zS0#b`VhM?aONjE%5~BK!&P1Yo>2?YJ%#c%D0{qlU)FZH13HYleAm_M*h6Xgjk(3LT%lDRq&a==hgK*q%btHq|LO*GTmJgm1oJD1E$;k-ok zSavdB@wBjg{&jQT5KVD(HCofiwXH@a6wb2sl)u2Iv0BNqF{gRZDQrt>p&OSzB`z&& zsds06QiG&!I`wnAW2lMvC>um61wT>sm>hPwh2y|>Eyp$fvEi+7Y%NjA0M8=e`R!S@ zeZx@C-N^k*niiu16H7Cw7HnfVinh>a6X{0)K(vBNy~EZ-Gz07$QUyzQAXUgtt|OMH zLp2v)D3lklwJM@skQu?3bc-tgfS+%tLlOd?V_|R#Gz6Efc=lc`l>)*#4rweE{t?%u z0DesIr-LDI*Gci`EUp?NJQ_?<=avTcSvrlLnx8thvy4vJZiJj^EPdf5z9z6WloZ75 zwxr6i%WAB!wwn@s#BszK1&X+2I&S24?%s5)5zfcnGq+JtJv5|mJ*l}zIS@2g86fq< z2cro?%u#Qh z=S5~b?=dc-)`fA1-?4LRyB9$<&VTKH{?8}BcjUIe+;{!IxcANfaBuDp&RlohjZgfu z&VT&bw;wwC&5vzJw!Hh+cOJRxP}|VHuchjaeR=1JM~^neqTl+XKmUvD%fIo$>IV

    65oS+yBZJez&EMyS?t6aB%g0+Di{`McTc`yY!*(I$f;S zjbIs|xRNo0>w*{adM4+tAL~ZDtk9;_UOzM!P&nG?x3qZJ|QF@TYL9wyG~T2lW;_0(37Fg1Im4w`$*3`0d^?=nv02 zBLofxnzv@;URGTCra+bjoGnNd}e%a~f>~e3d^|Zx3pK(u0f_eesz27wqUW6>SqNnxLBTYd@?>`(wv_4CruP5z-yu*C= zWRf-ew}10ByYx|yd$F$m{$?vT09>oq>0}-8|ECqy{6&J6@52v%4U4y2x`s=4N`P$- z88n@FB=^8ZZ+?U)ZvO~(?}H8rL&RMK>*e^m6nEUytLj^ozaB1My0hH-ZD*z-81dys zdAWVMa+m4#Qgvh#@Yb&|Cz0{seUzSp$$myPb!m;Cx1XKGj%w?Fy?F~KoEZzv(Y^kX zRfpjHx`VlUt@ZwAzkI%;XA~{ zr0(+6cIFlI6SQ!-w59WQ`7%f$dtV!{7$;QRPq^6hikN5Y;zt#5Vm)H^8yjWn!?c)mELGE4T_mOi4?d-yC#m&6O-9=2HZQeEa zkbE0ORCpVSJE?NJm)L4l$-SUY%h-jeV!p!Nbnp<}&3R1{zZAI7=-WZ>8XYb4*Q3O_ ztB-uwZ6{f@VvG*1WJW3J%nAh0q^}#WZY2mwj2vTdVm%V26L;V!pw82ZEd4WbyI>Du zPqLTMqAizavP;dct#*mB5pX08G8qiSz1P0}Rwk)O%xYTOR%Ck&;5q=rKTpO8 zSySFuWm<9AB73MKUiB47|30fd$xz*2Y}pS$9%88vV#9l@_c?~5g}Mb3l>IF1Z4iVV zti|V9n?Zm1?qoT?06Kih`?60+H)05`3*x*Pg4~0llgJuaQ0(jHo;~_M{{8XK6ym`# zR$Siw{nE?H($kE=S^IM4^_;QFfGxQ<(pAQ!6Nr0~E@((D2p)%PnS=~glZ63yl~g2| zS`1H2P7m^1NpUPs?|L2R+yil)8v;`;&cse&;YjVtMCD3JB4Dq9)U|R%t=`Ou4A6As zHjmBnRv^8SIV*KNYvIlu!uW^%n3L=t2Kw3wU)VNZak3@$vx}k+<;T(Ovn^^HN&bAORY*^eAlhN=!g1}%qD3|ueAlMVd9sQQiUsl zq+T_AvHUFO&QdyI3YV&XbzXAgrP8_f@ujCcH#(i?r+}WMURUmNEeM+0`|hkJqbeWV zAB&w?SV{br8j#&euPe_+P9E0Yay!P6O^wOzc&Gi)?$qp-pJlZQfpojlXlNwPx)#QT zB!S57>=J3gs+I+G9CDjnz;}=GWh6lz>UbYC{}8P>8yn7Of{1Bw09QFjFm%}7V?0Re zjX-%Ibj>n+*&NaGF1L2-tZ+E;p!xv`(9*fFx<7aCZ0Tw7)UHU`N*z^j&bJ|7C%k{L96a+-mp^`&(fjwA;z~YKKXt+b9lquTUtzxSxSluPzAus&P-k9br zD2Q;0U~2|CUx-7gxRy0gRXO-BRbvEyB0)KU@kB?Ig-!u!Rcl&9I@69^$}fURtCJ7b zp!H|AGIn=ps}cfjzLm3eIH(n^a{Ljm<5ru#s;<=OUdg0vqzSx6gB_~5c4mh6Y%RJ@ ztyi<9yqu$QPT~{};PCRC=d@?^ea>E%N9vkq4lDDNoYOdSU##IRHRdY)oQN7H4U(Rzlg*9@%DCY+Is=;m4q+QeVAGAj6eyOmH$3T?Or%XO>tL&3F z<%FV-D9S6z=DCY9a^N0Pl2$sQj8Qo+$~n)NYE(jBiRKeBmf*iERPMLzJ6G^}Q0;!_ zDp!IFCRSxIT-T_QJ8;S^K|`g(L8zQj?hkQFXQ|I?d)2pRRch|17S$`y^D6g>oOWgW zp=H>sC!+J+%6LuA9}_LECRC0nN~5X51)O599IZ?7Owf5j)r#pLIzPl@lOz?6$$7Vy zFTh-@#hL*ODp>7p_QRA&*VG!PWwK?E6Vm9byLQnN(?xQMxlRC&Fe zb=Hc#Tp+3iYcBp+MHZFeUM3JNd2%$RqRnPIq4_h4cBzI&z=IKoWvb6je5Id{>kh9y zjHt9XZy~#~aUqz3gNeJD9;69x+{}y3m36mi7B%vct&Py4bkfh(ja_;zJ%&@>AjcL$ zP%d}k%=Uxo!h~6yNRHS+VhelKrG17RQgkS|HcX^kRz#OH6`|qO!i=1LWe3yI7bn#WXU<@L$2@^v6(|uVgk`OlzUnshkbT;LD84x2(RZ(+D6v% zcVdN$N;+kb_&Q%S1q8cupky^RrxDF*lyi$Xg&u{}Re{^LJoBmx*9l+efi%|*Y=L;9 z$4k;m@NM-ozafb84%7DTOV#I=%I~Cp;cbQbZ4mCAAJJW;75+-CKkBcSmZ&(Sq9+v+ zWQ&?|X}g@5oFj5t5aJ>!8ISo<-3)NebK^l7 zNBk)F9fDA-ffribFz1~|m=||ki`7#tKE^X5qV@HDlsg7Q#v8;&4}!tMCN)EKWelnxQJzE28-+!rkARkY=YygCcHjyv^FD zHf(0fODNBu2H*b$DlBi{Qde{0;>|2U0YO3Q)^(my8iXkc#LbtTlv+Tff%6_%p++TW zzLqExFMdqWOKa*}>4K7_W}8wO>yf?hVhNWqXz5(1P&yHAFY%b#5~FvgR$xHSbozZ_u8qd_5!sJ-U(y5wr&F zejbsl0Fp~Kmq#@rCD>(sX3af@$dV{kc|Na(fqOrTCvzCmcF040-xyTYzay;=qy zvrXI%jJOb`u2OrJ?25USoNaQ8YYo+_(Lv2e3$L4Fs-t)e~?{-iw# znLX{iljfD3H~X|peBOCKcHWCgF7l;jkI6C)%TVmqWjzFW1RL%T>26NOUGmiRMfaYH ztL*gG{bu`A(t97g<_7) zZ%tk;<}mQM)~1OcOqG7jSaqR~tBGNnQzqnFk$7AYSb`$l$S0zU`FPL^dGG@sQGl&_ zm^i>e0PN=~YNE-_1Oc3pw=@8YCG*5AkLq&gSo7jVyCzvqQxu}fkctUF!ak>*y;Gws zw-;4O7@w?kD9chO{5hO}+Cgm96gLv9(AAibk`lonG3PW$A*MYT@wkv%r)tdHlaUqK zsyK*%{-%*jl8sZ~)488?&}?7X74M(201;OyjPdo3pdEgl&j}7}SKWYmUE@I@{(x|1hTINtbV(xis2uxM8;HH{&9w;hw zDPwtrN|@77BnC-lsqPFre=sbXgcT}M2!#~FRFt1K2>as=77x2@V0J@17??#|GS>vf zP;9)sd?^^?)m3fdRa`vwSV=2l!!K}cjJ?26MU%_~4<@5D*}~P%=X$^9Hrry8g4`%_ zJgONUXC0dyxl!U4%UU!@IQOEZthN-h>@?eE;pZ*gtX`CdEPTOW1-VhXkQ+e`a-$gJ zMjqrw9^^)OA~)(9a-&p{8yiW?az$<|x8I^7Hx}J)QIQ+9A#x*MZqyV+L>@#$ z9z+DFi-=g!K9ez01<~Rl9&L;p%!Xls4{{R%uylqu7|Sx$C`j z5=7)e_G!CD9ZvO<3mgssC$1kK3KNy@HVlTWb~Jh-P8=waG%Q^KVHY$-!Wffa5subp z?7n2ODH$V!YwxI6Fg(PQr*K$BL41J^v1;~=Rk5c;yb*1J*eFBPQ<%$Zl%o#)*ATL? zA7d4n!ZGkbofX#bEX&FfR8`7xBOfsj-yaYL#ssyeT}xw}#A2=wR0kQ5CEwP23;XyLoqi9E}a_;o8*4wsf8# z=&4(!OwdB%dm?At$G@5}!fv;lMK^l{VZ4DiQO7cG5wu)>V zSpuG?-Q-@mNO%OHY`>jXuTVOfM*=LWq2bQxg;uKY%2jN2BKj5B9PNfe7u1{VRleW{ z3a_Xabb{v1Z;8?*duEGDGk7yr1hvs)JcpKJh}Sl-l5v)zIF=+ib;|P~b?u;9I7p<#bMW?NbmJp*N zX9byJ+6*QZ^{B^+mh~tAaIbgXI!&&uv0z?cJG)YzP|PQx^FwYuOBcXz5qyY^ODVjo zb;TwJ3QVCuu~V8uK#E9My6BR+E1@lftjE%;RSW_+&@zngs#SdVAh=tdr0#6Mbuwn@ z35R1w45UP5Q>e#6Ei_a;_gT+E!vuneCG`hAo1E>^G%g)Hd7tuEFgVpj?LY#4I)>mD zj-iBFjr0I8wC`|rCNbH53>j$$$N0f(&AKDujqhka%s2QxWgTVR=JVf{*;1Ns>>(5^p-6lQSj9f1xG7t}(@q5lO?33auU z)wX(zL|iK_|Ab5C)FhteACb^o8yXZZ_-N2ewi`m1jnN|Lw5^II8;s_>Uf zD??Orb%?4`86tz3OqEZwoT>5*mcr%dE3N03wNA`hH_+!1dm?F__hW8O2ZCl19c+>h zR}%!?g}nxl*?#{BShhtft1mbRpQ(brf|&IM99Y4!e@3C$LS=9ZK?MUmvFhL!jNF$O znAR#Jn8$5(ooH2l%q`o|z$}T?J}S;dh_jffH-#;T0(5=Y{cNxbYw`;VcDgJdb0+g< zB}9Nn_nKEm%43{I^u~<QhEhVUpI#J`nQ@O*b*(Nul!_43TpQA}bqTJ(dB8P2# zI1wAkn~gw4VN>{g!4m~mP+Ntl#(-xte$x8k+@#SZ{JMJVrV6|;bOEyX>5*D6dnkpO zSiwgojK|%2K3!c;?Lh?csCn>uTkqr5d>t?~CTyn%G#+yjn$W4r@}2UR&+QwH zAfbxNrz)tdWQWSyN0nN9uweBXJ)ihj;8!+et0|FCWo@N4mpm=vvlSXkm7&{g~fTAVXAS*FPMJjosB3cb> z-9)akzF0n92p0J0Y72K>vbOY>c#Vy5RvRQ{45sGhu=u#oQn4>inxPq?$0gAs5PMqg zby3*^_{kW zt>A*mtAlYyDeITg|4HiOsj+AFQ^NHOAKfoNaCfAj0APqZfNiW@wgwT zulEDIk>yO_=^?63vCrK83T~B8#~~B0Clna$+S4pM=w_r{Y|R3=wiOo2wlB1mDbmC= zu&cmBR8~ZOz!b_yt%+j+#?BrCY!!B(m_tyoV)pxNWZMO^aPEM#TlEu_>dL8BCsx7l zSy;d0CaP|zV`rT){)WLfAjL8jX9{rFw9z5uv zn^QlZ;**((edY6^s4MjiV6@N;^d$nM`QExKwwH zR9@YryC14pt@p+g6=|&35gN1Bw;Pt zi3w>V4Y=6m2pHc0emu3lsD;vj@S>2djKwl6Sh|y-g$&Ab{j36oRg9fg?}U}oDI^^| z_?G8BZa{o3=00wq)UlZRxWO*6nESYa;>Kcp+z{AI0Yku<1`s#`We1lfmIj?7^m*Gr zl2^G+1QtnjO(&hkz&GK*nhS%_NQznt1>8?<7hbgaSQ3TMK|E!il!d_F42!sgx6Q+_ zoY3U3`&kR;-5MW6IddyzU@G5st7S$SkQbm_=K>A;4#E%ttbu5*c9gX#hHU*f&{_+{ zqi$BZH{zeUH2Dim3ksPkp5Z_uqG@9{)0Q^4f>e2oZqXW9=(G*9fZe%H5^&Wx_Vjd6 zKurki)K24s#N&J8=J+Znn*i3bg`yIeNvUOOn3}?lj6L#qU7%zEi8xbR%jGs>N9A6# zafJONw)nyqRT59rESIfXx$LB<2z1xD837)h8^E6pX=7>~2|3s5%=}CZ1mejtMHU_< zC$(_c#$G;V#fo=Zi{-Oy@vxH(UX}h>`eH^p`?{&Nq?*tMveD1=(KXVN z<{me9i@A$(%g()MDXT5zl!e=3MH z;}rOw5LpjhvRZG*oqa=PX3o{bys(wtFSneqwq7KR0^8CH3Zvd87Zo)wO5+&rkL%X6 zx!y_AKrF6KeD$Zwou%hS)tmW|WzoNMo~pdYB{-cYB}$K3Yl0N2MioKNsDiI39rYjK zVlVB*E%huex<7@{_9^eATzI*{XWT$cv1iHa)JQoJVPTThj?XgYWStfZS|ktS;Z!fw zR*TqtQSR8pXb)S->iC$-mDjmsr-KQmjt+)AbTGIsjCMzL9OztwnhuH+x#%|(K40k* z?S-uspeefP45$RhT)A$_HcpPM8im8$J_}FEUD#{0EnCWhxsS;O=~VtOuEcnSpS1Ku zr9%u;DfzsLV2wUTB?H}TpN0D?1Mo zInPUkyr@gt=y~lSZ^O+KlLx0p@7tTttRKE9)6v%6leu|sc4}-iml>Ft7|U(Q+%d5` zGcYx=f12u_2zeiO)kmi@*-U;aJCfU%ow`3Wu_v>#t84iJ+Isu8U71^^vioumO;D<{ zwTr(O$~-okFk&T->Htrto9@)IPE4yja?yjCrR$_P0rp;X& zH*fCf*^}$Yc6O4^phmhjXEy=pEP(zs1N7KvKKBa{e+VG{H9&l41;oF=-wzUhZwh(q z9EqvYll7OU(5o9#kQpxHYot_-a9=siD zbs541S+#b(uY|nZuD#H|eYyPJiIL3S>~w|=Jf0cJO-|*8v-#XeCObZod1!QOjEu}w zZr{X%q>YY4G574x@1IiISS~xAYt0OppMkh$Zk`y=XGh1UDL9?aWk>jPno}Wf--ppv z-$ZV@_4bK;tKa96E`L4b9sJO`+?mf#<-ahR-z`zQ?fX`|pOl z8&)>3?La;^E@CHSj^}ezMygY}s{iGPiYn*|Gh(U(Jo@rn32ose9W$vBi(%?#Pbcms1-Zp0_LHeg29~ zY&(z}-Y;>ubs#&H9UIGyeF4$))_iWC=)2G}H}#1v_vP~U?A$xLC-24u06w5b2lwap z`;+bVyd5D-tVjf3f`XOF8sfo?Y@jfc+*DsSpGDMuaCAgt{MB4u3Aap4Y2L`|GcSg` znSW(_XqZLGPwgKDN*@>lx^X=B5J!c5IRR@L)<6$1r2KlNZ+l>Wc5F#n?!Y9=oEy36 zrW-}fZ|u)bx2kTd72GwkzEa@ECER7^1!nLAp9<{To%_dpR14UWF53_toQJlByxx^K0=AD#?5olW7Z*0T zo$Pjop@(n-OuHrIZGHc(Fs27{Q(#;L%lxgiHRNr1uV%K5@84G)%CZ)Oq(@oe-`WM} zw@y#f2f**ojZLyB!(-X$=??^3hgm1>5r5&e&Ti0f_x$MaHp9)#?fcn5naS+%{n`6+ zOOWv6A?yY42QfKAH*Ospn|Nr){;~Y%3 z?Y{SJO~s^Bc^{o#zSt$05P5%{Zlm0#oi1zb$_TTpm;iG5PL~x^Ywx3&S5Glff6r?P zc~|}YT@yPIlg95`f76EX2OeQ>KhEC%N5Z>XM#pm74veCusgk!382!}6=coEcIa9&q z4qnn*RnVI$guI81sZ35yKxy&^KM*RTJzzZ1Xp8Z+(LChb@tE~6zUmOXO_P7}(a-+Q z;>DN$-CsQVd)t1w>+YGx|9I$U_uey{zPjy|b-#INc>MhD{q%c3xx4+_i~qzs^W5+6 z9PXLxe*AYIyz|M}fM?dcNbtKe+B!p3439ZqOBfGr=Yw9Xp{-(m2 zN_1JEyri7x-E;HARNvUx4nz=d-}LarR4&&#GB##4{`U>E(UkE%=H0lgg%2YV@&vQh zVE^*gojw2+<|XMW*U$f7%+z@)Z9D&8D$+^lE^Ol5gX_#(-D)z^C zl|0$Y8OLx)VEtAls+NvqFG%J^@>qg#rcjhW<=sI2U@U#KeyPo_mF-+=FDZkyq*nUc zhA|e|id|_>DT8&YR_s%uLE>MB$CZFepLfxx>|j;lwUM&zlxk)6`d|P0y%y@MwC+)z zsZ55*fL@*&doJm}l|3uNES~r4-Y02iJAKM#vjZjCX zbE>Pc9Pf}^y-l{}%ge7^`OB^Qr>tIJ|7ssFbykhuPhG+L7ytergFsUqwAb^VM4j`C Ke}DTR@P7a@ij!9W literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.framework.xml b/UnitTestGhSA/bin/x64/Debug/nunit.framework.xml new file mode 100644 index 000000000..e8718287c --- /dev/null +++ b/UnitTestGhSA/bin/x64/Debug/nunit.framework.xml @@ -0,0 +1,20670 @@ + + + + nunit.framework + + + +

    + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the name or the location of an assembly + + The name or the location of the assembly. + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name or path of the assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + The test results from the run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the Completed event for the top level work item + + + + + Executes the action within an + which ensures the is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that an async delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate does not throw an exception. + + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + Delegate used by tests that execute async code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Marks a test as needing to be run in a particular threading apartment state. This will cause it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Applies a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + + + + + Default constructor + + + + + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Builds any number of tests from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + Marks an assembly, test fixture or test method as applying to a specific Culture. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-delimited list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + + + + + Default constructor + + + + + Marks a field for use as a datapoint when executing a theory within + the same fixture that requires an argument of the field's Type. + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument of + the provided Type. The data source may provide an array of the required Type + or an . Synonymous with . + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument + of the provided type. The data source may provide an array of the required + Type or an . Synonymous with . + + + + + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Provides the descriptive text relating to the assembly, test fixture or test method. + + + + + Construct a description Attribute + + The text of the description + + + + Marks an assembly, test fixture or test method such that it will only run if explicitly + executed from the GUI, command line or included within a test filter. + The test will not be run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Sets the number of worker threads that may be allocated by the framework + for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + Marks tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + Used by third-party frameworks, or other software, that reference + the NUnit framework but do not contain any tests. Applying the + attribute indicates that the assembly is not a test assembly and + may prevent errors if certain runners attempt to load the assembly. + Note that recognition of the attribute depends on each individual runner. + + + + + Abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Identifies a method that is called once to perform setup before any child tests are run. + + + + + Identifies a method to be called once after all the child tests have run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test as using a pairwise join of any supplied argument data. Arguments will be + combined in such a way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + Marks a test assembly, fixture or method that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + Specifies the degree to which a test, and its descendants, + may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and parameterized methods. + For assemblies it is recommended to use + instead, as has no effect on assemblies. + + + + + Marks an assembly, test fixture or test method as applying to a specific platform. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + Attaches information to a test assembly, fixture or method as a name/value pair. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + Supplies a set of random values to a single parameter of a parameterized test. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Supplies a range of values to an individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + Construct a range of ints specifying the step size + + + + + Construct a range of unsigned ints using default step of 1 + + + + + Construct a range of unsigned ints specifying the step size + + + + + Construct a range of longs using a default step of 1 + + + + + Construct a range of longs + + + + + Construct a range of unsigned longs using default step of 1 + + + + + Construct a range of unsigned longs specifying the step size + + + + + Construct a range of doubles + + + + + Construct a range of floats + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + Returns a string that represents the current object. + + + + Specifies that a test should be run multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a sequential join of any provided argument data. + Arguments will be combined into test cases, taking the next value of + each argument until all are used. + + + + + Default constructor + + + + + Sets the current Culture on an assembly, test fixture or test method for + the duration of a test. The culture remains set until the test or fixture + completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture on an assembly, test fixture or test method + for the duration of a test. The UI culture remains set until the test or + fixture completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Identifies a method to be called immediately before each test is run. + + + + + Identifies a class as containing or + methods for all the test fixtures + under a given namespace. + + + + + Builds a from the specified type. + + The type info of the fixture to be used. + + + + Marks a test fixture as requiring all child tests to be run on the + same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the + is set forcing all child tests + to be run sequentially on the current thread. + Any setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Identifies a method to be called immediately after each test is run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Abstract attribute providing actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Marks a test assembly as needing a special assembly resolution hook that will + explicitly search the test assembly's directory for dependent assemblies. + This works around a conflict between mixed-mode assembly initialization and + tests running in their own AppDomain in some cases. + + + + + Marks the method as callable from the NUnit test runner. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the expected result. Not valid if the test + method has parameters. + + The result. + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Builds a single test from the specified method and context. + + The method for which a test is to be constructed. + The suite to which the test will be added. + + + + Marks a method as a parameterized test suite and provides arguments for each test case. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Builds a single test from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Indicates the source to be used to provide test fixture instances for a test class. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of tests from the specified method and context. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + + + + Marks the class as a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Builds a single test fixture from the specified type. + + + + + Builds a single test fixture from the specified type. + + The type info of the fixture to be used. + Filter used to select methods as tests. + + + + Identifies the source used to provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + PreFilter used to select methods as tests. + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates the method or class the assembly, test fixture or test method is testing. + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Applies a timeout in milliseconds to a test. + When applied to a method, the test is cancelled if the timeout is exceeded. + When applied to a class or assembly, the default timeout is set for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Provides literal arguments for an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + To generate data for Values attribute, in case no data is provided. + + + + + To Check if type is nullable enum. + + + + + Indicates the source used to provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + A set of Assert methods operating on one or more collections + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + is used to determine whether the value is equal to any of the expected values. + + + + + Construct a + + Collection of expected values + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether item is present in expected collection + + Actual item type + Actual item + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IEqualityComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write any additional lines (following Expected: and But was:) for a failing constraint. + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the collection is ordered + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + Constructor for success result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructor for failure result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + Index at which collection order breaks. + Value at which collection order breaks. + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Initializes a new instance of the class with the given fields. + + + The result of the comparison between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Provides standard description of what the constraint tests + based on comparison text. + + Describes the comparison being tested, throws + if null + Is thrown when null passed to a method + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost constraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occurred, can override this. + + The MessageWriter on which to display the message + + + + Write some additional failure message. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Provides a for the constraints + that are applied to each item in the collection + + + + + Constructs a for a particular + Only used for Failure + + The Constraint to which this result applies + The actual value to which the Constraint was applied + Actual item that does not match expected condition + Non matching item index + + + + Write constraint description, actual items, and non-matching item + + The MessageWriter on which to display the message + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + The value to be tested + A ConstraintResult + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Contain the result of matching a against an actual value. + + + + + The maximum count of list elements that are shown on the constraint result + + + + + The count of matched items of the + + + + + A list with maximum count (+1) of items of the + (The maximum count is set in ) + + + + + Constructs a for a . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + Count of matched items of the + A list with maximum count (+1) of items of the + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to true [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing between them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing between them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non-zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Initializes a new instance of the class. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both its arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of its arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + its action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The base result with actual value to which the Constraint was applied. + + + + Write the additional failure message for a failing constraint to a + MessageWriter. + + The writer on which the actual value is displayed + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The upper bound of the range + + + + + Constructs a range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in XML format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor + + + + + Construct based on the TestResult so far. This is the constructor + used normally, when exiting the multiple assert block with failures. + Not used internally but provided to facilitate debugging. + + + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the provided by this exception. + + + + + Gets the of this test at the point the exception was thrown, + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Contains extension methods that do not require a special using directive. + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Throws an if the specified delegate is async void. + + + + + Throws an if the specified delegate is async void. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stack trace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Objects implementing this interface are used to wrap + tests that can repeat. The implementing command is run once, + invoking the chained commands any number of times. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build test fixtures from a specified type. In general, it is exposed + by an attribute, but it may be implemented in a helper class used by the + attribute in some cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + + + + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + PreFilter to be used to select methods. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Provides data for a single test parameter. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test. + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Provides data for a single test parameter. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single tests from a specified method. In general, + it is exposed by an attribute, but it may be implemented in a helper class + used by the attribute in some cases. + + + + + Builds a single test from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The type of the fixture to be used + A PreFilter for selecting methods. + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets the method which declares the test, or + if no method is associated with this test. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build tests from a specified method. In general, it is exposed + by an attribute which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Builds any number of tests from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method to be used as a test case + The test suite being populated, or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the name of the Type + + + + + Gets the full name of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed because one or more child tests had warnings + + + + + A suite is marked ignored because one or more child tests were ignored + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Overload == operator for ResultStates + + + + + Overload != operator for ResultStates + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The class holds a message sent by a test to all listeners + + + + + Construct with text, destination type and + the name of the test that produced the message. + + Destination of the message + Text to be sent + ID of the test that produced the message + + + + Converts object to string + + + + + The message to send to listeners + + + + + The Destination of the message. + + + + + The ID of the test that sent the message + + + + + Returns the XML representation of the object. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from its XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The fixture type to check + + + + Builds a single test suite from the specified type. + + The fixture type to build + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The fixture type to build + A PreFilter for selecting methods. + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + The test fixture being populated, or null + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + Checks to see if we have valid combinations of attributes. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + True if the method signature is valid, false if not + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + Filter used to select methods as tests. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + Filter used to select methods as tests. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks through the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks through the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + Initializes a new instance of the class. + + The inner command. + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + Its primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + Provides methods to support consistent checking in constraints. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Useful when wrapping awaitables whose GetResult method does not block until complete. + Contains a default mechanism to implement + via and . + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the event pump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + TestMessageEvent holds information needed to call the SendMessage method. + + + + + Initializes a new instance of the class. + + The test message object. + + + + Calls on the specified listener. + + The listener. + + + + Holds object for sending to all listeners + + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or null). + + + If true and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if ==false + or has been called + null. + + + + + + + Stop processing of the queue + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + MainThreadWorkItemDispatcher handles execution of WorkItems by + directly executing them on the main thread. This is different + from the SimpleWorkItemDispatcher where the work item is dispatched + onto its own thread. + + + + + The level of parallelism supported + + + + + Start execution, dispatching the top level + work into the main thread. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + + Not used + If used, it will always throw this. + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Try to remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. + + Overriden in NotFilter so that + 1. Two nested NotFilters are simply ignored + 2. Otherwise, we only look at the test itself and parents, ignoring + any child test matches. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type arguments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + If successful, an array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + This class ensures the is correctly cleared + or restored around framework actions. This is important if running multiple assemblies within the same + process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enables the syntax. + + + + + Wraps an action so that it is executed when the returned object is disposed. + This disposal is thread-safe and the action will be executed at most once. + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by .NET + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + + Examines an attribute argument and tries to simulate what that value would have been if the literal syntax + which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. + + + For example, since you can’t apply attributes using arguments, we allow the C# syntax + 10 ( value) or 0.1 ( value) to be specified. + NUnit then converts it to match the method’s parameters, just as if you were actually + using the syntax TestMethod(10) or TestMethod(0.1). + + + For another example, you might have written the syntax 10 and picked up the attribute + constructor overload; however, the test method for which this value is intended only has a + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax TestMethod(10). + + + + + + Converts an array of objects to the , if it is supported. + + + + + Converts a single value to the , if it is supported. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The value to be converted + The target in which the should be converted + If conversion was successfully applied, the converted into + + true if was converted and should be used; + false is no conversion was applied and should be ignored + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Implements a simplified filter for use in deciding which + Types and Methods should be used to generate tests. It is consructed with a + list of strings, each of which may end up being interpreted in various ways. + + + + + Return a new PreFilter, without elements, which is considered + empty and always matches. + + + + + Return true if the filter is empty, in which case it + always succeeds. Technically, this is just a filter and + you can add elements but it's best to use Empty when + you need an empty filter and new when you plan to add. + + + + + Add a new filter element to the filter + + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Differs from by returning + for null elements rather than throwing . + + + + + Gets the constructors to which the specified argument types can be coerced. + + + + + Determines if the given types can be coerced to match the given parameters. + + + + + Determines whether the current type can be implicitly converted to the specified type. + + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + Same as GetMethod(, | + , , , + ) except that it also chooses only non-generic methods. + Useful for avoiding the you can have with GetMethod. + + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the XML representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and stack trace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + MonoTouch + + + Microsoft .NET Core + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Holds thread state which is captured and restored in order to sandbox user code. + + + + + Captures a snapshot of the tracked state of the current thread to be restored later. + + + + + Restores the tracked state of the current thread to the previously captured state. + + + + + Returns a copy with the specified culture. + + + + + Returns a copy with the specified UI culture. + + + + + Returns a copy with the specified principal. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread, but may only be called once. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + + A name recognized by the intended listeners. + A message to be sent + + + + Obtain lifetime service object + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an ad-hoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an XML representation. + + + + + Create a TestFilter from its TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the message to send + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + The list of display names to use as the parameters in the test name. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + Returns the parent test item for the target test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + + The string to be used + A new string with the values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + Constructs a test for a specific type. + + + + + Constructs a test for a specific method. + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied , which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the XML representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the suite name. + + The assembly this test represents. + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Initializes a new instance of the class + specifying the suite name for an assembly that could not be loaded. + + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Creates a copy of the given assembly with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a threadpool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + + TypeHelper provides static methods that operate on Types. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Return whether or not the given type is a ValueTuple. + + Type. + Whether or not the given type is a ValueTuple. + + + + Return whether or not the given type is a Tuple. + + Type. + Whether or not the given type is a Tuple. + + + + Determines whether the cast to the given type would succeed. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + + + + Casts to a value of the given type if possible. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + The value of the object, if the cast succeeded. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Encapsulates the ability to increment a value by an amount which may be of a different type. + + + + + Creates a from the specified value if the current instance is able to + use it to increment the on values which it operates. If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values on which it operates. A return value indicates + whether the creation succeeded. + + + + + Provides a convenient shorthand when is + and the default value of represents zero. + + + + + Initializes a new instance of the class. + + The amount by which to increment each time this step is applied. + + Must increment the given value and return the result. + If the result is outside the range representable by , + must throw . If the result does not change due to lack + of precision representable by , must throw . + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Encapsulates the ability to increment a value by an amount + which may be of a different type. + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . A return value indicates + whether the creation succeeded. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + + Get the number of times the current Test has been repeated. This is currently only + set when using the . + TODO: add this to the RepeatAttribute as well + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + A shallow copy of the properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + adapts an + for consumption by the user. + + + + + Construct a from a source + . + + + + + Get the first property with the given , if it can be found, otherwise + returns null. + + + + + Indicates whether is found in this + . + + + + + Returns a collection of properties + with the given . + + + + + Returns the count of elements with the given . + + + + + Returns a collection of the property keys. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + If true, the tests will run on the same thread as the NUnit runner itself + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + diff --git a/build-test-deploy.yml b/build-test-deploy.yml index 86e8fa7cf..1de2ee026 100644 --- a/build-test-deploy.yml +++ b/build-test-deploy.yml @@ -85,7 +85,7 @@ steps: inputs: targetType: 'inline' script: | - $versionInfo = $(Get-Item .\GhSA\bin\x64\Release\GsaGH.dll).VersionInfo + $versionInfo = $(Get-Item .\GsaGH\bin\x64\Release\GsaGH.dll).VersionInfo echo $versionInfo $fullVersion = [array]${versionInfo}.FileVersion.split('.') $currentTime = $(Get-Date -Format "dddd MM/dd/yyyy HH:mm") @@ -114,7 +114,7 @@ steps: ignoreLASTEXITCODE: true - powershell: | - cd GhSA\bin\x64 + cd GsaGH\bin\x64 curl https://files.mcneel.com/yak/tools/latest/yak.exe -o yak.exe .\yak version cd Release @@ -131,7 +131,7 @@ steps: - task: NuGetCommand@2 inputs: command: 'pack' - packagesToPack: 'GhSA/*.csproj' + packagesToPack: 'GsaGH/*.csproj' versioningScheme: 'byEnvVar' versionEnvVar: 'dotSeparatedTag' condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), ne(variables.TAG_EXISTS, 'true')) From 84f92a4e6aa90043d6a66998c78787b189057cd6 Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 14:59:24 +0200 Subject: [PATCH 4/9] removed binary files --- UnitTestGhSA/bin/x64/Debug/GsaAPI.dll | Bin 4420608 -> 0 bytes UnitTestGhSA/bin/x64/Debug/GsaGH.dll | Bin 1088512 -> 0 bytes UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config | 21 - .../bin/x64/Debug/NUnit3.TestAdapter.dll | Bin 372224 -> 0 bytes .../bin/x64/Debug/Newtonsoft.Json.dll | Bin 701992 -> 0 bytes .../bin/x64/Debug/Newtonsoft.Json.xml | 11305 --- UnitTestGhSA/bin/x64/Debug/OasysUnits.dll | Bin 60928 -> 0 bytes .../bin/x64/Debug/System.ValueTuple.dll | Bin 78992 -> 0 bytes .../bin/x64/Debug/System.ValueTuple.xml | 1299 - UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll | Bin 40960 -> 0 bytes UnitTestGhSA/bin/x64/Debug/UnitsNet.dll | Bin 1635328 -> 0 bytes UnitTestGhSA/bin/x64/Debug/UnitsNet.xml | 62732 ---------------- .../bin/x64/Debug/nunit.engine.api.dll | Bin 18944 -> 0 bytes .../bin/x64/Debug/nunit.engine.core.dll | Bin 94208 -> 0 bytes UnitTestGhSA/bin/x64/Debug/nunit.engine.dll | Bin 54272 -> 0 bytes .../bin/x64/Debug/nunit.framework.dll | Bin 394240 -> 0 bytes .../bin/x64/Debug/nunit.framework.xml | 20670 ----- 17 files changed, 96027 deletions(-) delete mode 100644 UnitTestGhSA/bin/x64/Debug/GsaAPI.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/GsaGH.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config delete mode 100644 UnitTestGhSA/bin/x64/Debug/NUnit3.TestAdapter.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.xml delete mode 100644 UnitTestGhSA/bin/x64/Debug/OasysUnits.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/System.ValueTuple.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml delete mode 100644 UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/UnitsNet.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/UnitsNet.xml delete mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.engine.api.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.engine.core.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.engine.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.framework.dll delete mode 100644 UnitTestGhSA/bin/x64/Debug/nunit.framework.xml diff --git a/UnitTestGhSA/bin/x64/Debug/GsaAPI.dll b/UnitTestGhSA/bin/x64/Debug/GsaAPI.dll deleted file mode 100644 index 25fa68610dd95c688dac70e40ad9442a9409e7eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4420608 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
    pYAq-**=w9)k;dAiQib)Tf`ze2wL zTN+(EwN)8(t%8#4O~R(bOdDa3%oBFsAZ)uoo&orVa3q4|&y9Yw;38M}D!Ij$j;j;k`Wcmh~fV2jLl?b&6EN7Q_9l;ID;kkk=hw1cHG8^}~ z%IUx}`YL%2f#s~kKl&=U4Kd6431XJRbowg!BjQ};EI>NjaTa3woTER=oc;~V@X
  • C%1}gp;d~7v8<9N<&5B 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�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

    l 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 z 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

    fb|R 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%0Aitzuo%)WBXQk$joet569a`CuNmdW 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�R{(@15X5sK!EI%CpjE1px9(6*s{{;m@RBkq; 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

    n{=^}GCJ6#u9x7lgBEeHpdFX|#4n{hn> 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 diff --git a/UnitTestGhSA/bin/x64/Debug/GsaGH.dll b/UnitTestGhSA/bin/x64/Debug/GsaGH.dll deleted file mode 100644 index 38e354ae458b7c517a2ad704937df9a011fb16d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1088512 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 HvMHdx!|VO_9p{_UKX)@Op5 z#W%7=HR|gZ#ENP#Sa0(uBh|sRgZrIq_zx_@gMx$RCK1nx+HW4ML9g{-8)CUF$GF8s z$}YR8>~VhAgWvT)Z)JH%aLA@dbLmAUg@*=*!eB{y-TG{!zM*xtSF7fN4dK6_XA}Ls zewg*v53d~_9M=3taINEREH`^(qpKM-=PJQ$aF`DEUa$e=Hv}7U;m?5(&3j|8asJi8 z?5K|x&YQNia~)+<`WD3z-~djL&vm{{Pc0b5ZQr%dcj#%Mk+rb4K8Rfk&wB;iSS}jJ z_wXqDYGI2jtNnq@?|c`DXZ`Sd_+VDga^k30Dh!6-C#aBX{s7-<5nDHMQSE*DXt$g< z>c_%4+RZ@G_#skoXk!`Twb8XTX6=-A@B{ z6F!M>7HTYft{*;)aH=p*@??FNg&pK{RZ$ml=^vM6!oGhp;U7!*CldZC$6r9lV%X%e zpkZ?z*x<$cF9OJL!o`F*C-BEOfj`Cx{L>C4rjKz3e~dHuUCtPPt&_e0^+h=~%P8T8 zP!g(EZQ6{rKbT&r0?N0B$|cXcPRbj#nB|Qku7q#Gh}d~EeySZ-157ufYQUY&h4;~v zQ0hTFkB-5q3H5kQnC;gDhB!5WgFRQBSrbr_i&z!qVk-)A@lrZ#P%{grMA=O0Ls$bl z4J-j{#1jK=vwhB%9T^E9ke!g=l@r3ADvKh)PQoUaRf0lMdQ+`%P?EK;t!1S*88P)@ zg^VP#YBG{cn9fKtp~*-x;l5q6W+r%I(ZmDXygqid5;Z{fW-i()D&yCf*Siw}n;iHZtcd~p+lCnF;80DjaG){X&S8#_?(;C;o&N_W%^Cg zMgG_@i*Qr9qi~ba$nOrTB}|LWfX@S9h9wU8n5iwkN?9_wQkF0yORxlgj3xMEEWsZe z`QeYT2!D)4_+1uB&mH+oLBp^d(5~zzSlOxrm>_Oi_;08KQ1Sl- zgM57)TEX~6WQ==zNbS95uX=%K2g8nbAX`8SQ<0hoB@WXDM?Y8{*AF)I^#g`D`azL1 zUnu~5sVK1jVne4*C<~PvJwwDi zWJ3FVzZde`wIF^1B*wUYq3g z7l=K(n<3$$P{d)q6aG6u(BinBJUk+chFnPkhQh9~IEKTC;a7rzAt5%QT6ohk{EcA1 zYck>}4k}7)F>v*_UaODfWa&5jE#nojCzGoc!r#F|jqe(+XmJH)$ZMZ-j@{i0Fh9dK z%t4?KhV z`3St>e|%m2O$d1OP$pbK(I9O--v_y zG5LCI;17h@9)+1wU{*&)3L)(7h(cFKMsllz@<@K9(EK}WeX)*)epDNRDn8$yGXebrR}1~UE}d` z+{kh)BVcwnLz*yOYBdkT537G8tRN(O2UOzlF*#rvW?6()02|>De(T7Z<6DK*Nlq5( zqmBA>>o}NzU{zo`97fFA+ScOgP9OkTbRBE(-1kLrGjx?HRM`(_X5Ul~x$3jRGrUZrN1isbIJCOlwUx!B^Uof^ZJYchC zEqua51e7%otWxA#Cwip>8?ed&B4wl0P>FCaajV@@2`52rLkWpd;n8t(&JU9f50kUN zo7vDjAHAknthVp@U|5SmB)TZh{vDR0-VMx4&D*o)N(hTx2*k7m0Um+Qrm@F|e5Sm- zdTWE>6p57wo4?{pg4eTd-WqDP?e7IM8K z@j-=N2Xwu8xc$PO!Xm5q5v)PjyJ&4FbQvJ48+}}FAg)aY*U^gW7{xV1T-Y)YTqh)P zF(AT~^M*0Z-AEbwTyNrX#jq!tffYF)-15Wok+bju{21rs`p(D0IoSLk3eyiS>BkeN z#uKN;`yuwvCN~K^WF?(^G3?~9!Ac`shp4J z2UkZe$hXj2ly9-O316>s5VBY89E{(g&LQ|6E_4pXr*}8TQs=RK=iT9CnV-mVnnk=O zR=il|j2>QVS))Le918xdoi z-PYnb!gP!tY9P%KkOQ=q7Q$<#aE^#rcB2>_F~a;eD5$~>^L})%7-g|t%W)P%#{6fn zLBM$r%ntdHwZsmLb}PfH@jh}Gf;8ntJ?VG|RsgjjB?2{N?jY=1hBK@MShzRTG*$2bF3fYSWjhU?GYP|Yv_pe z#x-&THg6)zRF}oAvJg1BXASkN z+UOz3r~EY^hFa^nfQKgmk05}XoKHc#SzS2Pa#|gtIalgyYHOP4j4Bszv)E>vGDA+q zLbGQqLt?fm)8SMsbYzSrbffLlsPwr>+QIHlZL~Hj%xK8PJ1lX4Nj(A^Y5>n-SV5bQvkcPX!UTG9nPd zwu~iH=rWEf4D6#|B7zPVqxEA8OgpGO10jspE1m@mB>^Kz06K|y5_Db)sKS^T zIic#yYl6_fFWiD&LN!wwX-Z#~*S@TvT|7Fdxz#1D*VtT>vBdOcX4V?jW^`V*FXOC< zD4ddOXDpD`+ zTQrz@V%J2EEgra4(gW8U$Jn0KOKy!*t^tf|`j*m*|L z-A>fx!*rqxw?g=a?}WT3rpDcDjj{WWXVVNbntYkzU>_T4ebxR6U=)+ZQ7swF>}6O8 zOv&s)l`=U>l}tPfW8>3PZkEO;)=s;A6wX@LKRGpR{QJf1?6Muv0inS%XDz5}-q8jn z@2fTMRC98zd?mM54)G?!|si4hJDz5_|5h1i;wNY?gcmduzM%_Fsj$R z`ymv47$ey}>^{jpjB#uqmh*TwKjt>DvEnW;`l<`@2_I)Vu8Zio*mxdK4;1W5_yhxi z(Rn4j%y=%Pr)@k`KEq3l2c1VHyxe%GLh3S_=@@l=j>d^pmStPHgV%g3A)e92Bs|0k z?#hjqKw)S!8ciG{t~9@a5foF~VI*N-i1UY>MZ;1Nkx`UooEVak1z7T&4go|3=R* z=)skbh_I{>85n+3P=sX4m*1EW9k44z2kZ*b0VjpXHI0{YP+@&PPU^egL*3;;QA`b4 z-7)i%DJ3R+_!fGY&gBaE9%fn6D4?&iHDD;N^f0f&JaP-2m^;C_l}^kAF;gSb@Fe)r zT8@tz0hT2=qm+bQNz-NY&dG>qmI6etpji>tePG8qQ#%5e&~lz6Gyj=d2m1$=N)1QP zo&kpm;(UCWAkNQ|L1MSx+Th@I@E9l4Nj#S?*ajV@>h-qhEe=K;P#yk|Z5Yc%y+;)f+3;tpT>7((CdgJ!w zZ}Ym@v6;iK8}`d`0+=fi9lXmTR?9WHdW#FyH9gF8JOXH2jSa6koHn!Y$Pr3}?PGFM ztbHaI^o}DguAt+gbi|LMHX@fvBx%ATR+PCR6x57ql0Anb0E__@Z{cusSAF7|987U- zeeX=29We!^aDSM>iN2MXdI@;SUG(qEbZr^Ce^V_x(S;pU}2Lo$I~&*uc1e;pAejY)5cMVmc%`<7Cj}>MY9s5k+3i64=PD}<;5(QBU|$Y3sH)C@Q!6Zy40WK* zSL!EYDseK;A?7`3;U4TbF`kLN=gbLJ-*zlT?WJ&SfY|&kA|`D8uEoK4?C4*Qp^jS~ zHu6lYPb;d#N)UEHOn zqnv((mGkhIsQnFdDClk;7Sa3Q@JyoM+Rp^QzeMc8vcwP1BHa;Lc+Z6ogs0S;$0(;O z*I4Z?g=Yiktj|NW=;WYkhvxt;obH4$K6?A| z9>hlG8Q;x3v-M>n+8)c+WhmT4wo1qrrhU=f6fb^LJYVmVe4S_VwPS^RJ;cq|W)RnW z9SIlng*^b+QKa$}f#dl)2CR*8$uEVEfwy@i*kU(UVy8t4vRsJ> z9uzsR!F2eC}--lVF z#d!~^YAz^su+NHGUO-RmWYTWQmBaIq2>Ilu+)eft8SuT6&E-Vat2MFXXh%jAQ7S^3SQ`ekw|IFmBDfQ+9)#>*XS z;4WJx7b>sGGO=Y3Gp2soAKj;OhNbg3(m7q}V1Id8Iu|WRr{G=z{KPGOuV6A0eOayJbc9E;ck5%c32*s zKpwU^JP6?K4iD!k50|gNL%1RjA9Z;+w$B4LhO}HSArB98co4v84i7t(2R!t*Y++ow z3=c&QZQA>o@PMf}O&8jTifv``S}{w)BxLnTV-&MFLtE!A#N!xc!T1{9ev?t z5?l^((IkQu9O70+tgDp6=YZ2%E_@>61UL&Nh82rn2WqbamZiHFyNW{y;-60Wu`^3+ zi#}AQ`6;MO?E$52g^Bx{%@GC%3cMCWHWY2#VsLnHpulS}I8ekD9^~K)?m~qGG}9q2 z4lUr~0yW2B)(1H*>x~>W9uH;yWKGGsxx8WBT*xSg7vpyuDm?8Z?*Gx_|@HJtki{1 zh7ad=JFts;3Y}FPmTPw5!eo?uj2v+G(L)*_17Nc~i@xx~lJr4KecTLC9 zA4&Aj67&pdVqMCh_rqs1QK1|ZcCC#kI*N&&BZ(N&TyPRSmx+oPOn0q|Cpwymu9QR! zX)Zd6p2tMAwcRxnPjn0uT_uSa(%j@Ex|)f~Fqql3KAz}qOmvMTVhFEtF?lNQf=!ZJ zddD*AYE+Ba-3;NiZmnIgSaRdsopD|u=orGAM)dsKuvZRWNG9qFyHW9L_2!G{Ta5x; z9o9L0#Y&qTr`OdKE^*b{55W>vZFT>Cnfe+=pWqA(3vEtxu5i`cT!xE9Z@`v4SQ9il z-$#}1{Dk%T#ULy6UjoM_(PdZF>U$dh-mls)3x6q@(?iq)Tc{~L(%bMHovZk`TxR#{ z?R8MY11H>XAP=+P0pGjbd+7E7DpZJntN-Fh4a(f+ak%CFy}13)7j}C$)5)v*c*`Z{ zp+APX-Y2A;ci)XLS@2z~m4QX(##O(|)WhYW(wN#AaUWWKL%#Iarm>u_*ux*oTzX6aY zG|I{ivlGJ44YQN}5_WQ8K~pAZ+F!!{jvLf`B+}wGxj&I(zx#d?W#5i&((`7@mhh+U zIAQD|xrAre8lKkqOW132gDg+ylcy=m!Z#0$1&eGF$W+d}I01G7i|4AGCCg}ei=Sea z{q6@S0w}<)+;2ND+Ov+_6WO8oGQQ89%4MpCxYZ{iV_OMu52`E1v+q;}m*HUwJZP(=0Vft*)qdCSeu%9SDps<` z-}%?z@`<^aq%Qeu@bFvc^(rZz+~O%ev2-?)!lq_YQoH^dT%HOpou+x^UxNo2cVIAh z8Azkshc*JSQA6VR%5B+2Pc*7}!|zh5;;fNc<0?d>UyMKM4X^!CAP5?A3o-CuR%h^V z_<-KHh(!#7-h(tW7{^ZL;%1@D{ge8n>R)wSs=`}VWburl(Awk*jScv&#lO~k`*Y-U zvUOpJJv-5@|2!cA}7}(+NQ^GiEdSGW>4eSeRbLI!cHeQH>%(8Rfq^~TLXtq;fn%sJwhJ3tW3Ws<`+BHZR4$S-uSRF5H(o^SJipmo`LA*Gq@ivTNa1YZ0QA@qT{HgelexcKjW{L7N`jM z&Fdg$TqexV(D<+~w?7WbZ}TTS(}3v+rfD$WP~hl5xt=%3ezTd!SR)T|NkvwU0OKxO z)}?3{%v|<9c5S`Vz(sz%x_KK;RA3`6#FV!(a}=5ul(qSv8*GPeVT_BLTM$?;_(9=3 zFu>n|V&kZi-^6wKl~%!Tz6NZMdL_UH#oa0lN*Hd{3ko|V&5qH5pjyT?xZc8xC<4P8 zb-^Tijca+DtW_VG;fA5f*_JD|AZHlr=LV;!0bCr6jBR%~i>T}eXHjk-Ox}ER@p-nm zN|7_jUmTT{ZlKUk`%TEfCuKeum8jSNjrK1!tuDy)Nz08Hs)$IUa@sZ&3ArQ!9xnUk z9fM=d*Fu=*VJqOm!9CK~ar!rmjk<;gRa-}5vGT(0&Fc|wW)->|p6s#6(C4)vGe)q{ zJ>1gD_3(4R^QUyJ>UB(7>D+)14p|L0Uk?WsOW%+IuKMAP8Q>wF%f@C2Y9^$T+X&p2 z#;29W8<}cV=S}zsjW@#q8gIz}gT`Akz$?)BjFS&F5fd7ac$AL>*ybYv-aC!Ak+Vc9 zf%E&%yBR9ISpyX&>6TDdO@y za2eial5j&k1()MzQmOK-9Y8A8G?^IvkXF=G0L<#7s-^;PUmeUUOntS-QKR~5+QfUo za7LTBIRlJ*y)Og2OgXdNnKmIb(rrR$B*2zN0=x{3`+Ev5Y^O8GthWSZ2WTW&A+M=JVQL@T}{)&c}g3 zx{FW10nu8vF^U!JmL;t5P+s&vT2Q(JmMyPlC8c=cFsBU2YCKQ}hBypmKyDI1Ey=PO!83V0fHL?a%HS(b zUDk0`v2*Yq6m##ZV5Je&cV# z8ktcb2S@M7i~>23P*M)W9EYJc5LW_dYs3Gx9B?Sc`)a>kMfwPJUL2^Awr2DZ+%2KH z&!Ff+SN#v`NNbH{)N{cJorv~hz~<^iS=g%C*i37Uc;neu^gb!E#8hsno#K^gH-7TMa8=c^>+Yr5s4a& zAS+5j(aVa0>zVFwH^m(@tC(cbsOPm;FPg!kWCn|}9W3&8uvqwu=H1miGcn@IdKqa~ z$b7vV*GDt)V8p(|{S)s*STXxUntj-R>R^exA9b{ZJ%AZ5hpYrJn=|vp7ef?Z*S0Bo z>r4lyOH{G>jMM~ruez^x)uO^K9|LtoH0I@F7#^1!&sQ7%%xsf&mi*o7@Ryj+#?_)M zHQtF~`CA^x{__`tzi%jiqLXXhR5kHkr@NxB^5iQ zSv{M0<1h@;M3n%Vu|X#-nFRKEXmE8E%HSXRGSE4TqUQu>Q06;VZSBiog&0N#E5!KU zk--WC4oC)%fDHZ-GU(hNwlg>;+uI4l8JzKa1U@iYIRjIT9yTd)PLscl5C_#@x7KB> z@Uy5WIJ9{Rt#0lCchel&WXy1*Mx@(4Ur2i2BE1I~dXGf}(1U4iL=PsipvT{FOOLTE zz0;HQ7}L_DJ4x@`q<5B~_jp7AJy?iF^kDf3di;&(F;@6F&EEr)^cd69qdQ3t7HmQ1 z97FFiL;yY5RYvq+PzQSaov`_1EKBdfNqUTF>Cx@dy8!b1F6nJI^qztUpx5Om*IUBJ z7GsZ~E`P@?Sw^;G&r6bJOiPw-Axv?Wr;m3 zNsKWqF}jm^gb7v9d4!>NB_eU7vi=JfD)(4fxWs5qI%QokfgoiQzS zx|KTXENTCkv@bQZ-;7|;hN4f}nDdY}W{nYT%ql^fzY%Swv9#Ms+Kg#w(`{+z`XVIS!xA`%GF(nHVXYijVjW!=D|98Y{DxmbOm4Zf z!Y{)Weudtz@}~lrBJZQ9Hj3z@FN?T65fO2)o`m}6tCh!pB9BitJVI|HkI=2iBlM?; zN34E=M}{YPl*nEF?uAD|-bbN4J|)Q`2_<>_DS5oY@c1cm;`cty&tMO_XT;-Y3F@;Ce%WhQd`I$Ytc^!DW_$onXi$K6RDNhrzVKaqRcQ24D63Z`StTK1m3xsd1)u*yK3`~L`BSpt_x_om!QRjCu?+qT zL0yI?8I;If{_cfALEcB948ADIAPFU9`E&C4awE%MkrTi7YkmfMzu_m>`z=0})!z}+ zWwa!#lBUbw@EcLp{3fgB-^Z(_(CDL3R$q~1m4qT$vdsS<`Ml1^@{eT0@BN9NeD8LC z277* zM~U3!Z}<;UVgDlw`&;qC7UX>t%H!LTJd%*h;~T)^FUaFNg~xnvoSgW*34U;8(Imfv zy(xZjy=iZ_m|}NJ%-=+a z2*0>`h96u#gOBBR13_IzPx32iyZqe?ze1~zLiv4fl3x;v_$>{1-oJxiFL%nAJhn8L z8#~(%ZwFfyF$}9Vh8I49Okut8cL0{<%sS4c(3Fas(kH>VKqAVC1GvxNdHLh8g1S>| zY(|O-xd$NC7C^WG6BaiLJefdX{;go0k)K{-EA$d>;7Z<=)6RbeU7V#&GL6Tq!E|g41daOPq7-Er7fHI7Zk! znRj*)!JaE>450#g^I9y^ea4mkbSMHaBTDzJ;U?If|p@ys1(`9fk!762t<5SA1G61tIgQ8OgSY&0g zSQ&8jJzfTKI@gJ*22h)hK^gereUP5w<4vTSQ5j+7R$W-Dj-dsyd-KElA`(oX{)E*G z9J*r8c?l>>9EL`uHffFbs(2us7Kd6J)%M#6f~HAvL7+AcCncdAf!H6Fm)7js*=0l$X_muY>yn9diUa<~DD< z<(J411Ui-$C^-T#5vX1vTpx!($M;E~xMJ5y9}_4p$WPEu2-MulpT+=*;bI&k&@~V! zEMYa46)22Utw2vT0)_4B;@jB*8^*HK3uY)W8kBFjb*fI) zDHL_l9u;*|BQ}+BiMwR>GL9nm@XKRGMd5fE;91;7+0w@?LpQTbd;q=_<@iI?@58+U z`~A4TLl1X0WC?04`#bmmJprXoRo393S;~I^p=`43cNRw>91YmzZDN;~p_ggX<%O<{ zl^k-19%98O+3Q92t(0>qTKpfQ{2+N9hp>4$>i>GH3$aMM-p^k zr=It7K2G}MbRUL`2a#2xakn!aUC)5_kU`^SW*#b<0qws9&7|}Zq=BQU2O`Y-DFJCz zblR?H=1%=#Lp)?ylz~eIG_-Serae|?8oBxy1dp)ma?KEG5Mx(VE`MJ%_Hd}Hfla74wKaz`!IzRYM%fH1iK5q4{W);t=0}ck+jv4; zhK7uciX4ZaoakN4IvkiXOz6pJ1kJ+9sPP8yqK zBh3Uys&V<^awoO5>lo%+R2j_5u*k=hCc)No>A1I1HpS!A?AL-gXeL zorK4W5`M4gLa8Hdce=J}i2pGJBWF^vs8O~S)?_!2d_# zp}~Tg+|vD5l%Ox&m+8y)<@)m8(@}EuXqoVT4-nH~pHXy@$O%KzKIX%$YX+r`fkMMi zD4wLaoPK6-jKf*9);Wb|REzs`J2iwnMt*l~^?wEA(mu&@r4Jwfix2NnJj$nqn&TD+ z{!FTrX5Jx#wuAn3S@=nbM$0KUtfVm0-Z98BQZSm6(H6m?6}QWI*R%tt5YFRT-=ZU` zdX@008(Q_PS^|9mt|nu=6+LamJ)9x=5yD(m=M7&SHybs4JQ437Q9OH0c#@LF(a% z%{IHnk&&4ucmrrHA0SpDxTLV#Bm!B=1h=xa@Cb;smf0H5HZ~rr!&4K@jpz2b@emR> zo}#uMw?~>!u{Zc+)PCULK5jq|>CJ2^Mx?#7ErDJS00o-kfeJK3W*2BkmdfBgCQ2qvHHqkgt!)KBF)4f+4 zp5kp9;=3@14Lde80oD(D^?4awzY~oU-IWRL-2^x8)G`<|Vx+iZljauc29IF?KtpOC z>}S>uOh?j;Zghhi+H?b-K7h$%PMHo!uYyYM0yjc%$J45}X)LCXZ=_l~40}ps1Z}hr>0z zaFG4sFvgWuSQw}JeWaM>-U0XvvlHWZrHM7e!iaX9FfnRCnphl%urN;L;;jEHCUTOU z67?cYsTmf=vg3p)v7^wF2As19FDHtecfAqEHZ~sd|{P3g!c6HZ1u5R9YXPib>tA*nl?GM?+0a#G{H z0aD4klFJaSe@Gcs;vhhjI!u^U(s%&!E%^UY{Ac-J48hwU<9zjDJgBOi$9h`N$DdIa zr;28ZA?JJq)af{k{T&6YNCk_b{w6;DLR^zI9S<%=pQiA&XI^b2|kqejZfWU=J z;%Gh|lRQx|=}QA}5yQ6d@wfm+B(srx&@&T7ZOG}%09(ROAodf2jrBL=nW4D6g!0*) z@n4T0NQcbOPKCcSexoAtecgQp?_^Yf|0*ht86S5+6VQXYnFp!yP9Y5P2o2n48i1kB zFk<#>CHPc=ml4doD2mC(g_4b^`7qP$?2+j#GA-dx13~|)f z6nh@TAdf$+2_=wvcm_K=U4jK9bQOz=pFp3c<@b}!F&oYRXRL-PeSQkT<8EKEr*b^! zieXN>5NrgZg?lj0>Fs63m=5FxW<9Xn$VTXz(NUkK4?FLenlqRArL4dikn=AiD>9_T zvSN*CmaK5-B@5XP(s^EUv!Too5{$IS4C+)Gj~Ue=D`iv*Wkd+UW=R=Yj@(d2(9}B0 z$hDLq+{ZS9jMNB*3^mEfIs~F-jEwZ9I?2f7ki>*^vCuw@nQ+ur{UwOOOB>w2!F4l* zsK@WdJ6#9jrXKD2Ccn%iW7r!23k$_}5ik=E4I_f_T^5cgV+MY$1?Rg8paFtSQDnY1 z0pY7J0`k2Hi2f=9@|~i~&Nt`w6z4wpIp&|m>_O4i^kP{M?gP4~OWn5UhLZhpXjK5u zAla-nm2B$vMzWRQQR(HtybB(a8B7 zE38JKrOS6k`({W8k5tpSAZ;e4*DgnXIDbhXPjE^W>7|b$9HJDfr7#UOX{9MkDTU@_ z_vSrV9*R^_t`%9W*Jz|q!-yjqDeh6lO1mkn3_s^ZA?$J^Wr!04T%M}|IDvx^H*G0H z0I(7Z=@isej4qZg$8JO}+4X-Yn*h)jOFv zKM$XbdFrf~g{iC~Q-fHJ)etxb)h;~MQ-#)SB7}qd3Vin>9`#ISv_!p|6gAkN$Hq`e z;f9_woXRE(nI+kulHme_)L0xB-`E-vPCN1yaEU#tB;jL&1v=CyW2WWk!)AAlIDi zC?}Z>vYmA=oSbhs$@(WJOPx3=nJ>qjWJwJt6aMd57#v{Yum2k~be4oF!5VZ}X&?JL zFlsNqNp^07Ar+3Rl!#aMs@eVWie3GKoWV0kiv!s=Auqqb6cTSmRTcv4F*+5`@od52Ha1#wo4p#M*V&m`HI`+ zt@u(?7Te_=6hcud<95j~yInpkQo?v>mn0_cFiU7qcdzcyRhE{7CXfmq(wW_hMI zOA-s4C3`o`qSY*kU=kapgxkGah#a-aMIyj*ajdjSY&mN0-6Z4KuN3xfEM>@Kz1mFn zx$FYVaIR72KteZcKQ>X*e$E3fGLP+3rv02C0aI93Q9IQtX+K|N`@!Zav>!se4V~MM zBatEZ*nkzaA6gSJ#%iFnAC^Pfj}++l(91-`r79@mt#v^zjUb%p2Had5B66`Du)!G# z7eVN@Bs{D(wgMyJ41(}VB}J5w4#Qg|T(}=0h0Jf2aIzB;PGj?LRl+&$%p%__kyI?- z``{~Yq)Ue)yn#^S6V16IX!|N7E|bBxcLEX3>&wBACRm z^{rXHL*z)l_W}l~g=3C~@6enVjoy;+y-7<)T$VCqaf^IsjeHB;P`+)V&GHRvYqNas z7s~g(BHv%3e8U0@`6k4}2D(n;LnPm@H?_+*14X`B4v}vu(4Rv2ma3q9x7I}{-$Xay z=GqW}i{-$QZxIArzQby>gk+64GIKt9%RhBczb|t@2HFw#s+Lxe~2EC;hj7 z6O6x*#M|)GEmy=qM^F2ofn*u;O|KYu*kR|hId$h9nr$My*mMKe<;N&eWVRu_&$iN| zI^2Pt!JCy{!v7*N8>**ga^fW+wlQ5ZO^q~5LvC$0@<+bc|v~Id?MI z*4r_0jPt{Y9vUJ;+xq29A>rQ)5ZewlUo{gkB;!N1K}#{V^^6b2Cbq4Iw)8yf<0;wF z(cx3Hp#qC7ou5>a+HL6P12+D8!ZLP>F=Ia=lN8J5@rPA6OqUqQ^}^gfY~i4h}#B@VPBcTn#R_ zF|gP78-pRwXoo9anuQ&nY_%>gMfF^aoXRL!-nLJler9BptHAtCAn!b> z6uWRcU0921PBwLTp_KIF*tQY&f`ibRu*@HYXPfIY+f<(p?DD){@f>Dj3WY{)q4=%2 zm8PEJK6&SL;A_wB>Y8)oNFkWZFH0lnW{-*0U+k*r<*tgHkDgFEIkr;Rpf!L~&K6nl zo~e>x_ARVdNdRMIR|V&{UCt;f9%~caM+0+|$iiQdWy%6fsZfM)>+g)Ai_%;#ScK6rXLc0~)Es{Q`S`W}VLS06--K4V^8;`Jljyl3J z;uo;n0X_Jw_!-w99N_ofkH!c)FIHlyH4^9@1TT$V6_4KBU2=)(=B zD+dc*UW4s9CGKvDSU>S@gfv$&1`yr&0rMBIOq3VT6or83GLNPxXU`Oc0KMr08RLB$ zlFAaKe+52@8SKM;X{WgJS}~%mb|!M=Zix^h%6w-c;AcCpnsP#ns5pV3gJ~?z%keRL zahfoq;&di5V{sxPO~vUa|Jm9?`4A* z5X{{o5g3~VTe$1(@%KkC%gak@`*;^01N;Ms44$|!4J(&K zx9GyYJ=tbywpDVvE`9nZ@H>zF1(s&wy?Xd)->Wyd3%JP0lhHws1{P`1N9iOJLk1RU z?xYf41+T|;65?&@sD$I@R!%1Ws$2eK{cJD_;c$>lVcFb!j`nx)ssoe8sL6i)3$o;Z zG9+;^09GbYhT7MVIQ<)-XXHU5l%Iq8VOWuXw>0Ub8W4k2y3{}paiEBJ{vih?7#03)L-o3||`0DtSe zbtq@ukh4*}y=W6NHsajZnm5d42uC5uKMeTsj zVC|!u(OK*c=nU50*jzO)cE%5){`;BFCUIiBT#KUn$D!VOs?P#aR_>6*%5%=#v_)lW zaw|KeWcw{s&m_CWIdXbBiN$?`!iq9ut~hwKQMMZ#)>MciwPuk44hN&~&Z+3Vg^q-q zw4(P;I3_K@>5vvjiZHF{y@ig1o3x_$PBGq;DR+9I!K^^nQ~M`6#_qKLcl^}; zfd?G5ZA2DphvR{PWSZgs!UMNM`k3+MYjf}@cBTCUKa%{wu$tmW7e6v-Kh2K}KeCxo z+89YLAbe6FvSn*l}W?7J7U_JowbAcyQ@j;eb4Ka5M5ZiF|}06XL<5 zpvdFcz?{M=I@V6y>}bKm<~5kKa8wMZCh}A05$z=Zi&TyhDuj5)kjk-45-TQC=rL{N zdx(q;{>UF8-sTW_9MrQY-xNA8JHodZ;TVZPh=(I{74JAwha>A=|5!kZqm?!ASihOC zi*UI&XMj`a2y8OnCYgRz&e%>uJREY-i>k&Ea|>dw_`Ev0hZD1~vqX-L17r$9WRtp= zq>cw*Y$qY!R+2h_IqJiW$o^JlV=;2Hn7j7ih2LEw6PzhXtxe`TagGSFbF|ny5iuo4 zi>FI)J{smIhq~8_>G!bvEKR+~KMA-~XaY9z?~?e*0F3P<#DinmiiaZ(6{AZ{IszvPNL4-4K_&?^`x6$RmbT0|`lru}pHJCyd%V~_ZBC!+%9kQ}r#25- zS9k51$WTw8+;gHcuD%pB;{-5k7m*p~BZECoxmV6Ya$y1&k`|KbI%#-lmudfEVM7WV zDxz?-peQ_Pg+t;^cy`mzS9Q(n&5_j3GtpS%+ns5GruWxm^S`zh(9IxgiN7}w86h6_{9Py#Cs0O<+NiK z4F&z8jsH91?-YDOrqC1G;NKJc5&;w9;h12h*sW#m>B|a7v|EaVze8#F=m>Cem(&$JntUg{Gku?g~)t@>d(GE8Uf#+BJn9+@|^j zslHmM65`=dW2LytT_sfaarXh$RZ2Bg=r7F24zjsc<)dp)J6#bVtS$7SY3%O|!#(tI zP4Z;jx%l>Qd5%P7QPgt<8 zyYIwt*oPYW>?rQ%?l*A=0;Z5bJB7b7h1W_7gm}+m3aj1K?f_W3zq>z}uo_Glz*@JM z-41XMAmMa)IKFtGdmss?r!X+sg#S*$uM@(Ac+V%{gWQ9JaMi7X@Ii)fhLtwyPLgoO z=Yb~5!WwrC31_CjLYweENciOqHu4UkY+MD>Zu=ZyDjMm=5pGCE|@@KJ8 ze4wpQJ-fLO|70Pq1Jc+|LZ&dx*=3w2_-z6v#JikjTx#^GW$v;m^usp(zli^K!6#(O zZw5OY-`^o%LcAA}+?aN0b&!cbwjFj81hSXdY> zEGjH+!ou(g>CVcKtD|k&?XO*rl>B$%0fTl~MnoM9)9zsHU4*?`U}bl>b^|}(BcCOA z$o?E~N9<2`LG8W7y-{%8g|(ab^*;R?t=-J8_v_c9+AaM0fPO8meUM)t(l4yi@#`b{ zwX}9Czdov8W3}7(^)da*)IQFyPv}>!_DOzyO26jTKFzP&^{Y_(48K0hFHG-T{8D}o zbq}350?U@&{^t-|-co7_#v%{J;}z+W#78jss~YnlIGjxrHN|ulh#r?gGl1Q*{Y(!*uB)yM%o#;Zg2UWLaOI ze>YHzM}uWYdtc}4F=_W0|MN`l82^h*?i-Ta(cU-lD=a&Dy7VlIV7hoL6t82cJMT~3 z`7fEuXx8Y__M1O!!{8%8B~EGN|HoK=CRv-MO^n-^2Va{|X@Q!gp}z zay-6(x3d2&LXyEWgU?@r$H*B`F!e^RW39pOpy-WUt;#1$1;>98Y85M3W5`Ah&9Em~ z%KG<$mj4|gSkC$jxGXAP&hnMPnINkrBF(gOH)!%NF&N%TdJ`~s<=+?NcOdu?e{0yH zns3~R+x8LzA>yA5V*1Po;cG;QC=C$+N^9hIAUG{Xyo-pX2F~K966MC%_3In_;e0pU z_@=yKXHUBEUwjP$#0_rX<12V5^Y84){5O&LC|kz)3Ch(28OA+FE;Io#x1mkv4Xs z&Js7FOGp#lk}v{W%M;V-SD-R$-$fmU`O>_w2KsByLwDQw9)K)oiZ&5vh;pGhPHL2- zcoRs8I}ks^0&(FPOt^tepwk%0&0&bcO2A%%y-mT&{`W!I&?@_fqb1{m37ZecRGd?R zJ1~h2S};gS9waS{3o;c;&E=4gQ8I^(6$YNQ455=sd~E-3;5~ zL^!dV@Dlfu#oWUI=8!E(DWmrR1l&lFNKa)vaW9jb0goUNEhouCo|wK&Tw*0e!^c6w zB-zQ6L6Iq)kq@0rVn74Jlk*v5oER`E?OFbuB+mqJL+}Bb4mW`{r9-=AQ#!O%M(HH{ zMIwx4e~z%y`yu%4-zQ8jdq3i@_8TeZ7OVvft9-DoAp+l&cF@Y7vc<=UKW(KMu&^R- zYeftSNM&6mTaFGv&ccGVlNs+bY zY}%MsHbn}XGiqa685OaLvYPPkm)hB*ieuk=JnC(P^%mOYAfW7HYL9>kyRiO<)+{|u z|8#mk1l3mK;UQARLyu7DP6maiqr*IJ5gse?X2zdn@Jj~IISY>*9#Qb!4EY%!kJ`cS z-;R(k@^J?q5%%-XM#yXVcncm;@YBvg$aDF4As$h1^<0E(#ijAVX?Tl*m!3ywIe%Y| zE*+hHJ~$HJ!SQ%R7{6o4$TRR*f=8+3{}@cfNI7^uf{x|mBs{`!I8P|R1=3G|Q}!Pq zyT$86(ti-|({OIE;$az>ABMx8AW6o23U4JHezm=%9h_-%7RWf;1tkNW3|kF$%)AAx zMHR3sqwyGyn9K)^-|1qP`G83Thg=id9v7f(mi&j1xc}dHgyx@eI*}~loRRlF3}L%A zpeFs_BO0z)l~&AH<>px2Psmth7|Fex8EZXb{jnw1Kyxgv?lIOtbF4qN#2Rdl1$&Of z8f=dBSWB#-=2+~?<|3^j?*?Sgf3gL8xEY(h9kGWM`|mB-BhA?C3R#X3Yy}1+?V7n;!)NDpCeWb z%?JV)XbUZSH3w?g-6RIA?ZY& zV~LOB7HN#y=~_3H-Je2$#=|}x+K1{kbLX^c2;O%=18wB&3!F<;di{^eAd&PQ1`#Yq zLPMhdmvSJ-5uF{P0qqb?V+TiO559^aluF3I4J1@!^IpjrAI3yc+>+kUVxq-;<~T5B zDovbMR9$T5u!U@A{j=evoNNl7r-)Z*?Fl{hgjS#C{!!bOV&KA=NEoz*KxiYOokVaIV7Xvs5(e$& zP9(I)2>PEnI|+lf5@>C?(C#C+hA^#_xR3^RYo~bHkpv?bb%FV@k~u{d~SvdA z;u-dH0B?(DU>wrh;u-dHgl~&yU>x(?;u-c+1!#+BU{ng);u)4xM`(*@VAL8k9%r#f zTpZ3~F)x2DK7vp3@l`x#nHnxi;7kan=Wj$i)&4Kzd<7kV{3U~zc_1;mw{z)eF`D9n zAZD;Mq~>oJ8wjp`7QYA0_fT-Vd=H!Nk>ES>y}*1g3?7m1(VPhw%?JO|knS*~Cm4P< zX^!@WA$`Fr4VfE;%nR0Ph#Q6!g4-EFTPD;CT~*+E!yl3R;8lEl2aiy#;o8B?C?v`c zo6})f*vZ!(LATP46@)qd4h&4tyf1cYa{=ki_`d+?c@^|(T#VriY`&8zB>e{P# zNmAr62ftI{Ft;)|@i|rm&G~zU#3;gW2OQF3f|33 zMVy0$GnMWPW-4g2lw&wA(7$#$Hp_<5JTKzZiA>L8_gmyU&foW~{1_t9tS};ye%|av zP9@xQLWW4Y9N+ZRiL}e{<4>JPyBx21{_MrMity&*w9E0mPn}4+94~so>^a#%cymr- zIsOWOrfW|Iu^cBZXYiw~a(t&9+%Cu0zpyzcPeqP@&9oq-^u7C?F2`9M&zWUydJ3IA zlnQTzg)J0S2WpyO zE5!kuqD=otF)I|aHpTfZ6jeKlC~_XH6bEgJ(C;z-1Vv0KkjK1D@eWK{>{6@V6j9`C zSt$2=^UKatE*D7E~1h zAyGx>%>PRW4*{1Ez#VidF!xeEzJo`+Jna7l5=xsF_R7HpFX|}jzkjH5Z_Uk227ikv zRP`Pegt)^TdJ!ASa8qi(6Wo#DK*FTCs(@BuGJugvGj<~v>U1fy4VortYfWL zoxu~FfidLBajtR(-xIz+;0!(%zOS4!c;p;|^T3?J$Mk(=(6z(T<&Vcl@XvL4JPU8L z>GHooDVEb(>NJ2o!pAZ^O8)Orz0lUqWXNTF?1+P9efL%d-pj`i1@Z?*P<^V)S%(rV zk+JHJ2v$4lPMO^l<_vhxz+`5;rjRl$tOk-WkWBgN`#${AZy3_GVi{=$!ew zpgM)Z(OdyBx4yR1d@y+{Ihre92Wh`fkT`vse1(Jp`*;WIDu8T6^kN1hR%M7@{3Y1U zhT#q`1fqQ^cg;mOh=4(A#r?oq$Ak|tG4qw-FebKl=i{jG&CYFcZc5@}I9hQZmZUQ( zRF$RDxQ+lN?a{y;>Enaz;~>n#zmG4qCevQ=J!T(&iKv%d_+rs6g5~l%5F8@EgTXQK zI~05qQ*Lys!CCS>5?st*wKd;^rMSdUsBTXQLOHljeg}fvBe{D zbt_-LE3cTp!(htSa^pV!3^abkpWt_huM_{iowLj0b(BTb#|I!kODR8zI*Gxa_K*}? z?aJRG;krIqh|uWEkf{mFXebjyGbJmEI!7hhhO2^3Gr6{)iCF+#*+DBop-}N_SEDuM4;L8ll*Nq+vZ0G9^w1 ziI>n|!K}p#w81z6gXMTcllN;F@?k!1li*wU z7xobA+SxcS`{?E>7%u?P-3ZzP@AFdhN@$z;;Jtj~cwkga>aR0`U@v0 zne+lHl)Ec0v9Bo*H=+JCh!gP%4K*$f7a1u|LDYWn?EaoqOE* zsl6>>Th|!p9xKic=`eRloE_{ijcsj@dc8gC)b^}P+p`WW;eFVc_++?jGVwviXSV0{ zaJ{v~?zbm4zM~+{u*UuWvp+*Ki;Y7$wLy03%G9_au2*m+V|$!V9atQv9lujgrufj! z5?6-08Ehn*@ey3Y$CY@@rgPsC>N#D`Ma@ET#0K_fP6d3cJc@s#&KvH`i>}Vb@r4aK1$CIvJeDG=`l697Qd-CKdLKxDm+p z4`M2newiA)0p&6y(Y_psG_ROI4q}cknZ-KJ1kTst5QL$Fm70leCxas(V(>u}PO@;> z=@2{~>}2V=OoQnPHtg$UOO{4Zz_NdU7Vt?%NGFFebG?!gcu^xFqzgj>-ror0ngb#X z`3Fk`INHMRL^k7B@k__2nK)>F26Y9CUgcbhvs#J?^A}@qpvqU~^cQo{@`#4qx<48E#Tzn}$g17K-Gaj=w(7V_` zY3!3$=3Rv-``}^PBs4G451}*YUow~?ilsyu`EOOC{!ST92G6ae=WDh89I^-pgem?qW_Ch8=IIqj>Mazf{{_miGZM}N%MIs#JzczyQJk}!k6!(H25zwbJpZQ)7PN=6^6lfo`&<4W9;R~i6{gKr`KM9b5@L0}|JE2v1xaTi6TKx?jsJ(M9pj``y zp|)K73_-kk&x2cADd+RM8rS1U9$Z@Cz+5VwYP^d-eW}K~`I~IufE+&44V;m~Z>E7m zaQMwOa1IW?xdx8G;WyvFNjUs=HE<9Po=R$P84cR+ukli~FL zDxMBJ1Vg4*ffS584-L`;na}zuRFh@ca~{G?Tcqh{5CdC;urZn@0gNPZu-}D9#Z>j1 z2!I4Sn_{;e6PZ}rt>Y=9%K^&}yTd21nJr=t&Rw3(WkSJVp z#ECS$XKMv&5x>O)#a-3}v*PsIXe`Rv7}3`3&C_eW*ck=?qsH|^So)kYg^Tf%XWDEb zz|WEq`6~US!&;ogW`3~1sioh;(i;PQ|~ zRst4D!7cPDqnZf%dFE_xWvDRM>*gzF3;5SpE0Sj)BhLWo0c6F4IO8{Wx`fLFLr*eJ z<>(H?+{$3VRbrS=xP^Y3maDWL0xh?h7TF{$zlYABdNDi7BIF#Z6%T|g?=~!_;kb$A z1o*wof4{Q4-|yqsdPOUkJ7=Y+=h> z!xmgU-^>;Q{C+ZGnX+Y>Kc8P?aO~ozp~K1Dw&)YBFT2@~yW@r}tq4(r-^<-AW=lt` z0^DaJ(Q!MGrgzV3lk5{MD)zhGbkPwlYhueXuw_{bTU^5y_<3k%3juzKj99L0S?-tl zg*EDm4}CrFV?#cN3hT>mnsEAH*wTs+HA;Gch@_<>R$--Kiv_h4bXQt!kZhR&&u(5| z%kn0+EC*YbH?yU<3dLMS-D`c13=|HQG@LU2zYYHf@t?MKTDNed0Hdzsd=_Zp;0Nyv ze>)yrm&UP;rhBCR7vJLuhxMT;{4a>ldkwI{(L`r1HWrc2f%u(^U;dH)nfNB1D_X)Y zM10bDH^S}w{21TN=clom$`1b{z8U^)47GN6HlyL#MjV9?<6iN*dK_m3b)$VCAN2G2 zeo<%o8#vLAiS7VI1eeGB6gg18eZ9JeDAkX(q!N~&c5rEk_VinTQrj0qX!}SvaFid1 zWmCEkc09_+4bHSZz$Z1<%w9&l$1HD+yfIpJI0U%~PQp~6n8iw5)_*yv%gP&8bx?h9 z^rPS$R^D<7=E@s100rk1j0t}suV7j$au~-Xc0MOwe{d8Ow{FK?{u&>ka>Jl=F(B0j zQRv18H7M&>Fn9@7**maep4*MQz-_lW2&|yAbw+Q%U@J6`l_3ximw}BBOJJScK)k#^ zOvvF#MEEO7Mt%evA2AeSZ-R|m!=T8gVB@1$zkY|TIyHueAMxL1*4M(c)o(?E4YL@E-4uP zIRGvxxP;YHx^@z;Es-NfEN_66 zh45wNi0hUycWiQ=eECUKFxwV}t%-HmYL$_Ysh5Ms*oyM_)RlOdPM0YLOHjFEI|=b# z2{BMd1+YGM0oeEj=8#xEG!u;?hPcV6v3@mZ3TNbPdIO}lROk`nVF9Z$g_CMF&LDA? z2@WAxJ;h;JRDOjHxa4X9YI1Z)bhNBKJ|pS}xE2X{y43ZiUe!!Ff>;tdM%o`s-x6i&)y*XtVM+EDCKKXa9hc-Hr?#9W z+1I3|Got+}E8YEcI<(r|7jB1E$1@`D8pggAa}F&|MT)bZ7U%0I&VDG)eqnJ2+Fxmx2H6_D>FKl&Nc)(->tMDS1)E)}4Sd210{s{&gcAX(K|vZ|_3Sdq+w z@?1R3Fhgf~YauCXb&9vnJ9M7 zb2CkkG?meW%))5;S=v82obe_5Z)qm8cbqjsytg(ndXkLZ1V+d6#v{P!BXrVuq`S#I z5)PN5d85@kt`SBb5i|M-F#3p)(ZlYhn9<>^4DOafMl)#Yt<5=I&YT`BOeDm+j*Pyp z8K**=Lj;Eq4-*(8(MP*SM~ptkJ;pHl(so84J@vL`niHg{j3#6jMjz`Q3r3G*e91oi zpV{5Qia2Y8cyDiF^r2+*W-yvjbtbw6jNYQt(Bs_A?s4vM@k~^1;nKeEFk$qTn9*Cn z=q(|mN8HUJqp>$}&SuW17IhtXs`_V5IFEK6JeHQJP{Mgp=D=Gs=Ka071Am+|@4ejz zZtOPi&+j?#gFW&-44dH3G5=aAwz{OZmif>z3K|#eEGwO)zYc*KCWi_ZJp!F6et0j( z*jD!M#}oOgvrk1-IBAKaGHef`a$G}HoE|+A+B=+5iLZ3}XBmldK^*UN?D`roDPk*g zm_vbW11!u9vcnFVx+4#sqW_DjirbZ#F7alfE3g*2)Fnxm^TL}ryG2?I^Vd@bGS%lJ z4BMYK@C&=;{0&@{`51L}Y;f~7;!Do~6rz<%B@dUZ!3E)CN#~kliaHZI*j0#aqgkFPYg6k*F(UNh}xu7YAfV?w6 z%Fm+!VgBm4WLkK^d1y-vg1jw^aU^3nRm_TEa1)WT^D#W=Z6=oFxHTu-T+%|9ne@(_ zF(=%U*Ahc=B57z&!qjgCqvDHvZ3~_<|C}`WbB6Vlesxb9W zS>nb$&XB`%bcs8<+h8-)zgI!_eqgQL(C!@h0Z9gTqgPc8-Tw%^eb6&VtDQXBskjkx z9{K^{y(bSNTdTBB5keIGyqIW7XNS<)p+^s_rEat5uYk(PjNw{2-CNkn!rJ6Gp#{H_iFG#oPPW$B@H-h@XT!&$ZJX6~HvCTJ z*V*tp*g_wbAwT8#YeGe=euZo zp<6}lfk-=8e2~Ay!f@Zt$eU=zF9&)iX26_@88l~NhRm6mVRI&C#GHv)5KJ(ho{9M- zS|0ZMV0{-}78{T9Cs+fpZUs9XZ?kP2+r`a3JWqZSa@K=>2W%iIC=IxjDY1j}rc1|$ zhf5m2!nba`fqx&|<^i50>XL;zK>^R?1Y58qQhO)*^~fJ#!g)Gme_!oOga~wteA@dq zHiY+N7d^Cg^;-@&B)jOkZ$9se1BSAT{_Neh>fqavql%+}D^IIp!3!VX{Lq))eDH@2 zgwa->TZKa|K=Rk#dCvjm?4tL+_@Ga$JeUy~vhtMbFMyq0bmr=VethtiCgKH0fAYbV zTdMzs&vd{#&?VCsR6ipjtPKshqgW2(Q3(&L-PlFBHsSqJUJgunzmk^~2@j_r09uyt9+j8j zg!gNC!NpU*k(XS;`>nh<%fErG6Q}P)4ea9MyC@iZpdE=i!XCbLZ${8&K2F4=RMv3R zebQM72JXkY5pN%@XA{sI26+8VrjUwGCZx>yg4WHbJhwf7V+`qRAsr#7b!$H)i_%2p zh@KQP(cXTBa{UMz7DB_l{S4(Uejc;VM0@)g%3b{26C3aCXDD~^b1!VXx1XWh#jhs` z!oB?r<@o|VNuYcCHD?PDswW8+cG~f;`x;L{?VEN&N+^x&V>-OOtpvNkXE}2h?V4hY z&_`p_wlO^u#BqrA(UL~ES87kvC~FVUVP}>(cQiv9;Pf7sW8mLR1NFAYX_%huDVGCM zu*Yc({hQ^0Ozm+R!~bR)kkCC&W8~jV1M^)j6f%Xng+@R6LF10lGSkIV6hc4G4!!jUMW{3V0$65%}y@%S0u z%KlN>Sx>wbA*nU3!G|z7+Y+q)es4w}zFPWldU4Y8%d~mI*T!oBa{7Dv;hk=J{w2_D zmzv}q-qeAiC;z;oF@NPmnBD4mxS2lTzXNf{v-JMWPF45!Z$|QF+w~zFbNwfWx9yNVG%}0g2yx@EX3%-z1IYsfzs*yoG1h_IPV`%fVredpNtTQqf5+M0o8c zGxct!`UlFixg9{{;`Im)cTxwDT*zC59cTS+A%eL?>;vOatRwB;c?=l?2xExpw=u|b zxWF#o4^f;o^fHF}i@Bfgd{}1TD0LftaQdr^?Kf;?7x#> zZjYVMv8py7M2h)RvAg<9vISQ|;%-D@W1tAfhE-V4`5|)e9}fWR@Q2?3$1dF-TqWd# zDZJ~s=&b-cRc@Zbi8vYR=9@8xn*I`OB{kufG2A}~i?jZNZ0|Vgn@6V33*-6wfUs`d zzzS*bIiw&xhK~VNE`$z#+7e`EuRr(|pon++dzy2056kOz!|w)$Suo-R2r*m^dZg~9d=aueHRr%R7At5D>5>}?Ro-h{b4k#`i1y}>i>i6EkWzu!f^^3dHp zjBVb{(471;Nv^UWdoQVo4+B6x0Ae=^Spj3Zm%$0Vj5_AwCDW+3jNS`^%Oq+SfrgHZ znk~#wIIZJhzD4S@D7bYev`?8tlT;>g?mWU zV)IqJOs6Mlu{jyV8rw;T_imJ{b_%|YArjlH`pr;1h(TP>)eU9kk`wFDom1Ivgw?7} zY|(A4P6oA9XXtfFq^&PA#&Irt2IEJ3TlmFUXgX9$dj$%&gFC@1pq3_NBVB3{TL zf|_ITeZW3{2_Adl5owOvPguHRJW#AcjHro6V`y+nQ!uH@y1<7d*tC51JwJpD9?-en ze*vJl-J7<96@jA-A6uG@Ts89jXuM=y%M~zMA*kFR0k*pe!TMQig)pe4La^yCZvLiy zrCQsUR>>#5Wb5dIt(W=-)APzAB3_(%Qu6Muq# z033{e0FOiPn2m2Q4fzJMuyY{gDp4mXXtn2sW`W<4rXC*rJzwh#kngdwIIM~KIK43? zbeJQ^JD4M@8#I@ylqAEtI=L_l27DL8gHle^H5C@D=~y6mk#a6Jyg)vQhI4_;O{a5# zQJ-lrt#g3{HH20EB6NGv@i!x;_aQF`i!R}4IUm?U*ghX<5x!rD>>>RwXLDFCTW(c( z_&q2!DGvcEHB>5_-JCS(H6o?4;(F3@c04Mj+CO~;1KL4S=dHD5>Dv9>GWg>Zdsc^j zwC~AmH1v0uie1%5n0d^ibl``DmIFT*4m%F~U7ZJhN+8CArh%W!jEiyP+-NN`j{6F? z1`6mWt^E>%TKXj{$F}uLxz>J37LlRXVBE)&X*L}8G5ubX#jwxKlREKs&2U=&U^w+o z)G1_U#O1_!0XL?60dO5|s~^JKMo6H})NAKptnG!1IMKOs8C558N=21{WGQEj=*wA; zExt{pwOUOmvKT%LF$(?krF$0Y^C2{Z^|H zg$A2nuZucMoD3)4ll<|{N8i`@8()KCff~GokGJ8W9p=|NOpyCV=V9IGf7odvZ^eD` z4)&vjYs{pIesfFMZ{iqv*l)sn4*E?7Os$XogViN?2eU9;I+QCIpqh_*NYc|D5?lPj z9#V*E#OX9P@TF^~LbXcNg#&eAO`WCeuRRGnyBc*``c0;aev_0s^_$Fy=$Z*hCTaDX z1S!Y%pkKq~Qpu8kJ?cm6#lxP!w0QdBy7^1MHyk&>coRH9mg`~VI%^O-JlLr$)V66_ zC~s6zFR^9+X(;fx74Dyg096PbV%k@I}(i&$y1Ca<(Bq@|U=` zg#mW|9y35o6E17+0XsmPw!4~12D;;eiy&{m=Ho6r!VW#?z6K#pCzZ<|5kWTd+=1ZV zJE_dI$1VqZGMy^>{H0+=5_Jk-?aSEJ3IB3>@x>WnTW}J$# zhPzuFji?`$ot!0Mgqg@^BWI6;@RCKr3C&geIAZI`Fs~X zi@2%vQvAXltNd1an+^mQ=a!0Yb*^Nr4<{AQLS}gqLEMAN(F;yEkHk0om&n^?UHxBj z&RM>0v@yEK-_BC@bBsFkRLq(BgHI!~)&Nz#kwSwD&+RnMW~BL*%W$aS9KM#ELdiRq zZ)Lok#}|0W^`C(kRuKKoCY{Qr!K+t@8_qPl@bvX#Wp^&fejFLRehlX-uCJZXn1fiJ z9e}e0Z1hXlE%xn^&Gc%_rs_P3mSOcKtmb6&D~-r4gwSf-V_XLt4pogF$7u;Y&I>>(k&vqy%tk{PwIMH*vr(_s7`9*faWq?~(E z(Q9VvC!qCr>?cg8%-t*I8kLr|Z#I2|trct9xU^4u<+z6r(jP;~Td$Nc_oS>O>>^fv zd%XP#`?=`dtu&2`erNerbLV&$BRUV|;F>13xLxek{bwOiJh@;3_AU^zbdm3{W#KOo z^_h*oBcAzO_nLK$e^{UXy2d~GS!zu4r`-6L{v?w4iX5UoiX^Chx1oc?rI`5Gp)+vCU%uN zo!0CrVUfb=H1-XqYtI3T(5YfiUAlG&-|Hf=brIvb$aY#7z2j;oS3L#nu3jRc(4;neVrYsJ^|EcWvNq8{-VgQ_3qsP$&I3s2YF|!!T zknJ6qpay#xPDUuRoqa#e80{%3{nYvMX8dT=`6D}GyUzcg@=nCDG~l2a`~zKJX*3`1 zF}wIv2pf9^9+%@yH22^aeB*jVS-mwTgL6L(giH8%J{~1A04`hSUyAlQo@`ogn$1N~ zM>`t#SRUM>W3bDQJ&f({e$?BTvy)H7<8ye6-2D`8N5~RBJUk*h+Y$J%FDpHb7-z*8 z5C_Nu?rnv}cSt-3k#oxSU0aj;0-<&o>>RzhL<9GN@{p^nTZNMV93EDWcp7d^1JXW@ zK&Q*A=cy(yhil5y2|6ml0bDK~jOHVQ`iqb^CAdl`Ij&7||nQ#gd)AKJyCxD$G z6+ZxeVM5(cj$K6x&;h?BaTk`TKt{Abin_%BB` z(r!u%m#DL=^521&C7Ib3^OXxDsCO(B81FbdxY811Y|<{9RmP*f3!?~$IyEVoWJcsl zfSPd5HluJyW|_tAxcc{X_nkO2?W0=K{_{|D4->-5)b~+BImwAr0iBno0XFVC45P@(-FLAIiv=OJqX4o8!osoMBRH`AsP9hr`2tdaAoy zPHY!bY5$F&57hX8eGgVt8EE-tz^ZSG4jed1Zv5DMU_P2|;65+#f-K*~aiZ8e+Pmv` zzVvCWaq}zAH{*bmuzuHmf+RJtYqj7xm0?BY7>|>`6FsuhD6=j-vL8U4K4FSocIX2!&Ox1V25g+k&Ny&+9@9CrGtQ8Wv#B#qShbSpBRk`a*mREW zjDvfIEfc}mXH6jb9T&R0(cOwww^}^NJqVKt?VQ%*w}JoM>Hir1Lsp%O z@&7&eU%d~H_T-s8CXeIiO#Y-WrAl`qcwYEXeVfFcXR_XJ6^(ImT$^#P4bd6*Q{hK- zyTo-(-1#kWaT=R(?+eix_sQ_1x>Vv8OkCWO5wVo%^7J<14t_3V8R8xse#lOjoLe?= zhg;(Egf`-C57C+Ki^Gp9wr_w}xW9xo>W;L;JSFXh0QlZ@G!+-6aGwrMhdSi9{Ecm1-SvD)htj(0bV_Ie*d^&2wB2R9wqLgppFj>sIp>&X@}PPK?etHt0r zyw%-0$^OVH#tH5T6UR7(6H&RM8Ql=4cVc^bSJ>&Dxa)|P^eSgMg_A&u>XrAtn9_#e zgjNRp3GyI{h$6ofgk>TXmFA>fxNNV9DGqA6a5BiBPx3Us7{;93o>AIkB2p*snr_QI@LXO&E@~#(s{1VhOW!!@Jh2(cY9&S;1YeqWSe%sGf-WJa&A??0`40q zHYGf;sO1gdwCSus&L2WNjc zE=`v(=<3G2U>o?MVjOx*CPuh$YnZyttm^J|`2mwima`>&i0dAwU)H5fT_7=w%qWen zD*v15hi8WNr2GT_XX(Ej%N)-IOR>O+4S11@Yc9|l@6{Jzp|Z|z^hLUGTlQbBRVV8) zp9l%bcX#EpAXBBu+PSbU?l^VK@ZEw>UA<;5!BWr%d}bo z4UmQHWWWMw6j_)}2F$lP#T>>ttYzJYGp;>d_lcS`){Re&JAZ6-+}pB18G}*FqL12@ zDkJTPkC0trb+U#SZgzSFsxnSR+*lma9{pd4E@Ms+R}M^8mp^a;Bj_PW#ZRN_y$QPv;qK7VR3E zt6fhcEMSDl5O@*FOA}*Veg}f9<##Z6xBLzTACuqV;7<7+3GSEQ1;KCms{|L4V7U7u zNPbZXmgRRKsL1bNuvUJDf|KNTIJl6%N?^39taU*s2QQUhY_yFL7ZFhmT#d!@Dh9wM zd{wL8QofcNWBN1BpTWjn{3$m){=~+=z4;lu6U2i%`FI$QPR734XPLnN5^yWl8hIX?55i0DN!T!fgtNjm~I70iM zW={!=v`(k7ktMSKVV_87{}aisi@4XN4b(-*>y*_t`yY|j{wEPq4aN|?C*=%dC37A7 zCS(6QItd1IpvU3Hze!^gHijlZvd)+QCx0A+{kzfU;CwK+EL!-|pAhcO^ZRILyb!uVKvYO4lgQY08O2yUte3p|k6K^e6#N(l{)B9NuV zGJr#2_0H$8s^&-fo0$AfT+WaUY-eioqfzi1F+#`)+4A&nu!4j`n_*kQn~Z|O*QSCS z^Yoq+yreC$rQq1FBL(L|C@qUvzvDm}vo=v@|DXlOR$o0)qzIt zF{siQ+hYbZ0|$&a+vQS5g_mTo1A|jq(M@$2wP7BG;!WsA3?y;R)9D;)jrf9~=ZCZ9 zszz*vOAT%dJ8-ra7-;}b$PuVqB2`u(-DyOGc)Dpm8a%Lgeu-G82?>~MdgN46CgEYD z*>3E^jpV@UZlwy*r0I>W|JN#~c$<3$4B+vM4h5%mpXvVxHs{#1yb*142GjB^rehtG zyTk`it9_Un!Jf_&lEH_Ne()(iK8uGr{g4d)5ADNu!~DCRV_Z%4sJ7dOZ=rp7ov{!9 z70V*6_F-O=kYpQvD)wQ$IAJ&T;U$G7|Bii_&aj*9!y%z|`)~+RGcWbB*g#0H+0FLh z2pcD}V9t;2!;IL$K70vQZDz6$(?Z^49~NV8TGxa#ywgpMz4Tj6WA9!x_Ik$Hn|Ak7 zW3Lw)doyquZH&EpVQ~vKau6`aUYMfA*qc#f?_;P$wccj+2fKCIx6(pP+p-vOX+9ak zf2=$@Vxvve+2Z|o!@gsTs@cl%Fiv_~xa7wLO0Jbhun^+Is1gR|Dzx1u>g&e$7(d}^KBrbtoHBwvB1G^MuUw}fHuQr4$A)xzV5%4(hHHp_mf z$O6!4QMJ*q;XF!;mQ)J{{G8tsM&ogWPpfJxeoGie-mJf|8INY*PFbUI)go7fB{)io zM%7%MylgY9!WbN((XKiJ8tlOl8cnM+p!G-WD#G#`#h?*&h8WPmBQ)AkXF!8$6QR+R zIs@83oc^F?CjARaZhih4pQ-{ydoM!s=3CKZxvYXs6wW>PzXWX=9w(iz;eQo3aKmJm zZwNWJuc358)r$KoU_kpP2AIYKWT$do)HXEp(7(19xpM+o3%(p;9omAmU3N17<)8=! z25BZj^_g1^V9`4vgjKQrgFJPcJk4#%6Sp0J)P*5>=RDDF46Ii~SnYW-rsH=Zg6In(*fVf%g`qewBSmAmy*i3zWfO)PQv5&!E8waNLvc_jV&tex zp6e86wd@YTOl&N>TAU$c*(HiQ6k2wN#W#Kp19-mHz>&q`NUru;tok(`XM3yj>AfF4 zr*{h;Kv;4Hvjng*i5V~~$225|eIKmGledC-@yxNf#oayi@wdetyzu#Ai{kXk=$bP ze!6=)jnm{McO2;NY{qG}TU&OI*yb*1GEQ%R{BCfuA0uir5Y{u?GuA8<h zcoj2k3AUY@-_T6d#?Wl1{(8vE&`!-9hxTQ)Q**s747n4HQYUg@h+3|>GT&^c=GuFR zqjqX8w1-w{wNrD=Jq%GhHRT`-Q42Wpu9RuH=DMpc80xxt2g@~OB;|Z7ELW55S}NbR zUCUZ`GGMXPGR-+EqQu5*u{qebYcVR=wrepU*tTmiKG?Qvk#5@{&O*_cEydZv6|=++ zngPtg$x=fMavqMQwi>hl^S10R=Pq>88(M7H&3*gqXBeWf)Y!7gR18A@Nn186j?1vL zJ=}|`jR)&+sG}?3r?r`-qhkm(ZNrc#!=PHXIn9^xipLN**x-8W%nf5hV(d0Y5X6*@ z4L5oelV?KJA|G9o9g^jcriSmxXil=TQI6OuBI)^B+uT%Qk?CVsno}zu71oyN*j7)E28QUR_FP=Ru>6YXyA87yp$$_JRtEP$CiGw~&*_{(Va8wV z7wPg>N0#SR$P30w40*6Cv+f)F@-m0ZU8}c4OT<$5$ z*kdQjV&IN^eXJmDJ?puWuXP4YO~C3G8ipl!2lHSFpekoDE|8v@Z?PXXG~Wu*y3%8D zY;Q>Hr!Usxvq2LHY-Nm2K0PS$<}{pO>c$St!}2%E@|&<`4{Zxgwu=_RYCBUGbr#{L z2F5XoSJwM zNyA}d6@K@e+R4Z!$EO90=95x)snL($s%RK)cb$QC zNu#??K)Y9x8Ifp$@Uh34{zA6P5#p2KcT*{n15y?l!2cii-ULpLqU;~<%K?3xe?@Q?DarrCx8kb1U$eCZz3Kjrw1YkD1ved zDu*0`C@3PY;H%UgT^sj8={o_eb4d8%}o;GEmk zWir{{+jx6Q#op#&C)FHmmX*ouBKMNwd5W%PeB89D;Bf_VEyh5D z{L>Q91Nf&M_*0b2cstVRZa^09?fm?V14`8D$Eix|rl~%qNBcI=+~P4gZ)@63z>L@$FU5u(ola7b)iezl^T}HUfl%W#a{KUziPH=)4Ix{Y}dRW8(h}8@FdF2*Wj`?Akh6PJ`s*((w#BD zTO-ij2A>GjJ*;7NDIXf;oI`FBR-Lo?`Qbc z{9IohnZ5_%i}_iGPbj74zaZVQR+ImFgXX_xV!`tGuO7I^!hgZOyvKjd3Y@)xb9Ug| zDsavToLdLZxp2mCWhcjRWykqkSqZ5c;mQbC&6TmjFZEXND~kuJ!IcScfEnl9 z3E;|3sOHLuuFsXx19nXR_y~`UDK{isw zvyFMKuEn#(&ARn?p16s(9(>%~TMs^N`t^CLi!mEE$Wtvte}Sjki9bpvwVY1(3C^k) zQYQ5mxN7rMlY3`FAoUxMuQJYZn58L?8fLzVsai^BnE@erlmw5m{5W|O^HYq`rvt`F zGA*n8SQV2oipZk~1ipwV;`ky%Y$T8dUnF89X_oQuMUjk6zR1XUjC|4e$*uA)dY5*y z>ugQB!}o$J4#vlq#;=8k(sSR-Yl?`U)}c>&yClb=`g><+dVMtg8Mr;i3?3q2$Vl`!8 z5#Z+uTvG-X0j@6tivZV`fklAp%fKSQb!A}Fz=Q2h9_$p&gKdu`$m7AFJG2H57SX8d z6HbTH(bNPLOij)?yox}z?rnAxHR-yz0MxH#WQ&otb}k8=I|R-h1LsiS9EP(>?Jn4# z;r#>FtTms@48b&oHFAdLZc>#MNJlNa8Q<1SSYpQa4qH){LqN}L%v9_-MHz2}4H3he zJ&Hmg_ED+I1fo`64h^|-_UaxV*bN%o_Y& z*%P9zV5W-S+l9_D1J*&$j(`3r!K1`uW8Oc$*XNH48e5YHG*LC4viql%EM0MjR|edn zpiow&vjI%*Q0;v#1O82zVIc=382Ce`spb#W)6s!q;(j8k0f7YJ&=GfK66!+hmg>}dW~A!72CJ|b1ct7n1gG}I`*Vea!kZ!aKaIar7Hh{)zi zL?gToDc2k~A(O+)m?oc{NR&xZa(_{@?QB9yyE}k|^>gPxfI+eoI9|mHx^MIR9b-Rd zo$^x-*x;PCiVr=H0K#L!BA)vT_!4DS!(cLBK%o1-_`pP-tdPF$(fxlG1AaUL-8bP= z1%7)R_+teBbsYGvKaa`%^$2v2zz4XnjeJ~gi-Ufc&`-obuYQnuv(1f)9)UpjSbSQe z6}>SI{DGR_566N3k>D@m6UklKs=)GU?MYtt&6<~8g~iGszV;Z@)qxW# zPrT5*1Lr=0bC19Yd%qs+UU0_96E6&yRypPUJDJvZlIsIYo2nd&RE@|J30EyoWQAjR z)-IGO0z;-M6A1D|S#D&k$pf>>>zE^@icuhWYF0UDgT7|AJ zbR_QB9OxgvRvuql|0wv+uTV=?s!Tf6>?zncPjY6ZPQZR*HJ?aZ5!#__(z~ z!Gj+^360U9ycNnv$cOLEA9aSk51sC{$in>@Kfl7K9`g-rv{h%=%r0_Z?Dw8@ zmKhK_!YI-(?7#zsxpDVbCSwM)j{QS z=0$GPj}F+$a8UFN8^&mGkv?E2q2EE+Nm!c**hvPKrHr;RBVyUfc%T~WqyPt)jr9z> znw^xJg&(M9CyB1lPSOK*Qvdh}H^xqSHw#H(n)L%aNh;Gmu#+S-?E^bWTGKwTlO#9o z13O8I(>}11Bs%Q_J4w1zzSuMD=t|QFKPhQOWpx_m>g4m2YNftq3-Ob2XV_z&t82+n z&&BX%YnZ8Gvi761%z$;K)KY>+ ziAS~6QbA*A`!Y@iO;in)o4$;br7O1TCjna}D3n#{Y=973CHFfF87INOS20aBUlqtW z4Vk5+F!(DG8nQa3jFZ|ywTv?g&nVUQ4fA7$j5C6W$&dMnB<_zCZ^}50;v44L$g^GG z@r3_@^Yy?!60Ha3yOen(%AZmeMJxM6_M7aDKz_LiUhZH3L)9@!toUxclCHdtE*{*w zU5{viW}EUK?D^Y0b({Lkd(#&f17oWlp0tt$o6H_EcfX2Hx;0K%8G)Yi3qViDCkm~$ zp%LgZq0fzh{w=~1G6y%-0?hPdHp=3?VX3gyp4LCGJ;IC^R0pNZGrRcf%B}u`HsMe zXJ%dwxaMDd22XvBZXnKV$>&;!o}f7M5^`rav`tmcM>?Ltx2iLE2mr%p@RZi!3_epP zppG3*Zc}yCugUC_?vn8ZX@ghr{+nY!6Q~jg( zsZmS3@_MCXW9nm39#f$Um5UuTfh(0l;jDs(18e2+n6L}1kK$W#6pwdD!BIR<>8I$U zc#@lD2*G5M;@bV>*=}vT^vh6`)@JCt}Ks zt^xJnXa3KzCQh-r?{@|T~{{N;zRT6+8?j4n((fB8XVs`<+g2hNWK&Wi)*C4uv!f%9X5^W$(< z-SH%Ud0K?Oq#3!9%Y6Rwvq;wve@Vb<{*nz7!(YDa@s~_hCXn!#q<=B8S;2*O#aa3Q z0cRNwib^kW_pfPWL%>;no;iWD{2YFL&XR#;DWjvzh*-`t9;gOqDZl|{vC_-2bCzGM z<}8V>&sov~mQw%t2sg-CPS>0z2~Bf>;4DdN+6T^(F?408ScC2mph4hktR6_$P*(5*wy?7MO#=`qxx&u3k}OHj|DK~mTU?ow>%E6 zDu(YC3<^9z(kOPhy-(8Lt^GZ2AeU_On$?fu4`FIu0$bEitNO`|oDIQcu1&Fh?a4fz;Czm+hae6cej;G| zrsQ)|hmMAS45f+hlk|N7zLaA3TGVfZ$IDF{`4TbB+j-lrT+YP#eC3Py z9Xf;D>z5e`Ya({Oay0_2&I`e`P3p_1oQqKKXZs5FG`mn{RGEpyaN1`_a2T8E%XQ{D z?Sg10u6!ABp8G3?`>Tfg3d8+1!~J!`jqCY-K36IC1+?4yCAgvfrm!*fl`xwJtHxz1 zywf=eNLeyg55UjiamLjNm0T~1ceqKNu0*IvD z>6{CMArj6@gXOx=@LdpWvh{Qre%KLZcBRLD!bZzd2Rx>Q$4!UPE)59qKvW1?VSDVJ zr5DO&%vQ}M7GOM~h{%2@g>BZZE|`K)Vck&6q+C7F%CB5AAoNzQnRtSxT(htR5m!8) z8C`lC;WH)8D3__kD3@!W&s1E?pSBR687ISh_3KG3##6~K!&7uUMlx=(s0SanUetq+ zTQcgw$E_Om;NupKdhl^;M?H8Y!wfGU3LcDe^RGR|S@uRLt0CU`L{em-@<#qB-uWbP z3h#U}o$mg~*md}MH$L@v=Lh3>XJ&2k&c`!T#XFxsXPE&Z-dTc2iAN0YEYK$Jte}Z% z9PiB174MvAg`DN5SVL8biLxr44N#YNCKz~UmfIljEGeSAGpkdBcaFjf?<{TqDtTvS zT*W&}|C(q2gsS45Rq_9IyfZ7`Fz@^(0E2gCQz+i~6u2gWcV@;0AG)C~?;HWH&pSte z>+{YL;QG8X>u%s&pLdP`*XNxh!1a0O2=I7$XS_*&P4doP^?B#(zyeJ$?<^x<$l3W+ zgm=D{JQz7?;hnF6Z&SSU6#?)3O(q8K{0;mn-uY_*?|d@?Yw*sDDl<_n-uc^z^LXd$ z4fl5p_YH>oyN3Hl!+n$C{+@CR@BA&e74Q7@YTj82_n27n&Vqp#K;Bu<@B+v?3oc#& zd1pb$3n1?-Sa|{Dodq>7fV{Kd=LL{=CXy!a%m(v$XL`Ui>mPPRnO*tX<(*~qH-Z>5)yz}>>ymMWBwI^Fbdz#|XxvjU%b zjPgA(=l{$ua{hlRvsJ9}X>^tu5IX;t;87M|@BE+f4WIv?$&&I?JH)VoDl1&r z3L(Zha{f;!@Xbt8%{PaR=>^i@m*tpVnzUj5H~##e8JqmCk#WPEtvdgIt;vONfP^Y4 z7Y_IGCeHoY%VTC`KMt~vocl8$gDtFo?jHe`bN}XNssx|vJShS!=l(}j1FOTN2(X;{ zUt0|v=+jI;TUBhJPxJNFk%2zV4b_o>KFyb^Bg10cPG5{Ga$KA;S_k~+dC{Lo4`uy{4K4 zmBKw*C7eE$N5b^@Zf(lk%09jB$%?lt4D)@N;WI>6f$%3-A zd=``*u%P;fy-;R9nk=YWTYUSm%`3j;niRSt5M99<;XftKsH}RUT=jhZQ*i*(wh;dr zcSm5%bABy$^IUo36rM)wv1{s%K;!Unb9&wUq3<|Rj>{kH+8)34M4h~=`9B!z{7Y=D zel4r=X7rNw?()H1D$s7{d!1b>BlPAgZ{bg&@>cb87Js_6B1HH1ctJu

    - - - - - - - - - - - - - - - - diff --git a/UnitTestGhSA/bin/x64/Debug/NUnit3.TestAdapter.dll b/UnitTestGhSA/bin/x64/Debug/NUnit3.TestAdapter.dll deleted file mode 100644 index 0bb7e54ecc2587fb3127d1e0dd74a503ceafc3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372224 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�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
    7rCKmBC%7uHU4 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 mQk4kD+{>M`5sj*hpAXNx5sk*4NaVkupaK2V$J - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. - - - - - Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The to write to. - - - - Initializes a new instance of the class. - - The to write to. - - - - Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this writer. - If is set to true, the underlying is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a parameterized constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Creates a custom object. - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - The default value is false. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets the naming strategy used to resolve how enum text is written. - - The naming strategy used to resolve how enum text is written. - - - - Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. - The default value is true. - - true if integers are allowed when serializing and deserializing; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - true if the written enum text will be camel case; otherwise, false. - - - - Initializes a new instance of the class. - - The naming strategy used to resolve how enum text is written. - true if integers are allowed when serializing and deserializing; otherwise, false. - - - - Initializes a new instance of the class. - - The of the used to write enum text. - - - - Initializes a new instance of the class. - - The of the used to write enum text. - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - - Initializes a new instance of the class. - - The of the used to write enum text. - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - true if integers are allowed when serializing and deserializing; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from Unix epoch time - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. - - The name of the deserialized root element. - - - - Gets or sets a value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attribute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Gets or sets a value indicating whether to encode special characters when converting JSON to XML. - If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify - XML namespaces, attributes or processing directives. Instead special characters are encoded and written - as part of the XML element name. - - true if special characters are encoded; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - true if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - The default JSON name table implementation. - - - - - Initializes a new instance of the class. - - - - - Gets a string containing the same characters as the specified range of characters in the given array. - - The character array containing the name to find. - The zero-based index into the array specifying the first character of the name. - The number of characters in the name. - A string containing the same characters as the specified range of characters in the given array. - - - - Adds the specified string into name table. - - The string to add. - This method is not thread-safe. - The resolved string. - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that it is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and set members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface for using pooled arrays. - - The array type content. - - - - Rent an array from the pool. This array must be returned when it is no longer needed. - - The minimum required length of the array. The returned array may be longer. - The rented array from the pool. This array must be returned when it is no longer needed. - - - - Return an array to the pool. - - The array that is being returned. - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if and can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, when returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, when returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items. - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between .NET types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output should be formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection of converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output should be formatted. - A collection of converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output should be formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output should be formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - A JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be inferred from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be inferred from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Serializes the to a JSON string. - - The node to serialize. - A JSON string of the . - - - - Serializes the to a JSON string using formatting. - - The node to serialize. - Indicates how the output should be formatted. - A JSON string of the . - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output should be formatted. - Omits writing the root object. - A JSON string of the . - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by - and writes a Json.NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by , - writes a Json.NET array attribute for collections, and encodes special characters. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - - A value to indicate whether to encode special characters when converting JSON to XML. - If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify - XML namespaces, attributes or processing directives. Instead special characters are encoded and written - as part of the XML element name. - - The deserialized . - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the . - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output should be formatted. - A JSON string of the . - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output should be formatted. - Omits writing the root object. - A JSON string of the . - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by - and writes a Json.NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by , - writes a Json.NET array attribute for collections, and encodes special characters. - - The JSON string. - The name of the root element to append when deserializing. - - A value to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - - A value to indicate whether to encode special characters when converting JSON to XML. - If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify - XML namespaces, attributes or processing directives. Instead special characters are encoded and written - as part of the XML element name. - - The deserialized . - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Converts an object to and from JSON. - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. If there is no existing value then null will be used. - The existing value has a value. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the . - - - - Initializes a new instance of the class. - - Type of the . - Parameter list to use when constructing the . Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Base class for a table of atomized string objects. - - - - - Gets a string containing the same characters as the specified range of characters in the given array. - - The character array containing the name to find. - The zero-based index into the array specifying the first character of the name. - The number of characters in the name. - A string containing the same characters as the specified range of characters in the given array. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets the missing member handling used when deserializing this object. - - The missing member handling. - - - - Gets or sets how the object's properties with null values are handled during serialization and deserialization. - - How the object's properties with null values are handled during serialization and deserialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the type used when serializing the property's collection items. - - The collection's items type. - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization of a member. - - The numeric order of serialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Asynchronously reads the next JSON token from the source. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns true if the next token was read successfully; false if there are no more tokens to read. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously skips the children of the current token. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a []. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the []. This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Specifies the state of the reader. - - - - - A read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader is in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the source should be closed when this reader is closed. - - - true to close the source when this reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. - The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets or sets how time zones are handled when reading JSON. - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Gets or sets how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is 128. - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets the .NET type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class. - - - - - Reads the next JSON token from the source. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a []. - - A [] or null if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the current token and value. - - The new token. - The value. - A flag indicating whether the position index inside an array should be updated. - - - - Sets the state based on current token type. - - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the reader's state to . - If is set to true, the source is also closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The line number indicating where the error occurred. - The line position indicating where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Instructs the to always serialize the member, and to require that the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The line number indicating where the error occurred. - The line position indicating where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - The default value is . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - The default value is . - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - The default value is . - - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - The default value is . - - - - - Gets or sets how null values are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how default values are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how objects are created during deserialization. - The default value is . - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - The default value is . - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - The default value is . - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - The default value is . - - - - - Gets or sets how dates are written to JSON text. - The default value is . - - - - - Gets or sets how time zones are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - The default value is . - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - The default value is . - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written as JSON text. - The default value is . - - - - - Gets or sets how strings are escaped when writing JSON text. - The default value is . - - - - - Gets or sets how and values are formatted when writing JSON text, - and the expected date format when reading JSON text. - The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". - - - - - Gets or sets the culture used when reading JSON. - The default value is . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is 128. - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - The default value is false. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to read values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to read values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) are handled. - The default value is . - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - The default value is . - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - The default value is . - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - The default value is . - - Null value handling. - - - - Gets or sets how default values are handled during serialization and deserialization. - The default value is . - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - The default value is . - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - The default value is . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - The default value is . - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - The default value is . - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Gets or sets how and values are formatted when writing JSON text, - and the expected date format when reading JSON text. - The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is 128. - - - - - Indicates how JSON text output is formatted. - The default value is . - - - - - Gets or sets how dates are written to JSON text. - The default value is . - - - - - Gets or sets how time zones are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - The default value is . - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written as JSON. - The default value is . - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - The default value is . - - - - - Gets or sets how strings are escaped when writing JSON text. - The default value is . - - - - - Gets or sets the culture used when reading JSON. - The default value is . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - The default value is false. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Asynchronously reads the next JSON token from the source. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns true if the next token was read successfully; false if there are no more tokens to read. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a []. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the []. This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Initializes a new instance of the class with the specified . - - The containing the JSON data to read. - - - - Gets or sets the reader's property name table. - - - - - Gets or sets the reader's character buffer pool. - - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a []. - - A [] or null if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if and can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the JSON value delimiter. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the specified end token. - - The end token to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously closes this writer. - If is set to true, the destination is also closed. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of the current JSON object or array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes indent characters. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes an indent space. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes raw JSON without changing the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a null value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the beginning of a JSON array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the beginning of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the start of a constructor with the given name. - - The name of the constructor. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes an undefined value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the given white space. - - The string of white space characters. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a [] value. - - The [] value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of an array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of a constructor. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Gets or sets the writer's character array pool. - - - - - Gets or sets how many s to write for each level in the hierarchy when is set to . - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to . - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Initializes a new instance of the class using the specified . - - The to write to. - - - - Flushes whatever is in the buffer to the underlying and also flushes the underlying . - - - - - Closes this writer. - If is set to true, the underlying is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a read method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the .NET type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a []. - - - A [] or null if the next JSON token is null. - - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Asynchronously closes this writer. - If is set to true, the destination is also closed. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the specified end token. - - The end token to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes indent characters. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the JSON value delimiter. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes an indent space. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes raw JSON without changing the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of the current JSON object or array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of an array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of a constructor. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a null value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the beginning of a JSON array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the start of a constructor with the given name. - - The name of the constructor. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the beginning of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the current token. - - The to read the token from. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the token and its value. - - The to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - null can be passed to the method for tokens that don't have a value, e.g. . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a [] value. - - The [] value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes an undefined value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the given white space. - - The string of white space characters. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously ets the state of the . - - The being written. - The value being written. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Gets or sets a value indicating whether the destination should be closed when this writer is closed. - - - true to close the destination when this writer is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. - - - true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Gets or sets a value indicating how JSON text output should be formatted. - - - - - Gets or sets how dates are written to JSON text. - - - - - Gets or sets how time zones are handled when writing JSON text. - - - - - Gets or sets how strings are escaped when writing JSON text. - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Gets or sets how and values are formatted when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the destination and also flushes the destination. - - - - - Closes this writer. - If is set to true, the destination is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair of a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - null can be passed to the method for tokens that don't have a value, e.g. . - - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the given white space. - - The string of white space characters. - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Sets the state of the . - - The being written. - The value being written. - - - - The exception thrown when an error occurs while writing JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Specifies how duplicate property names are handled when loading JSON. - - - - - Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. - - - - - Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. - - - - - Throw a when a duplicate property is encountered. - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token. - - - - Gets the of with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous load. The property contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous load. The property contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object. - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - - - - - Returns an enumerator that iterates through the collection. - - - A of that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - - - - Removes all items from the . - - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies the elements of the to an array, starting at a particular array index. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - - - - Represents a JSON constructor. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An of containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An of containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates a that can be used to add tokens to the . - - A that is ready to have content written to it. - - - - Replaces the child nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens. - - - - Represents a collection of objects. - - The type of token. - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that can be used to iterate through the collection. - - - A that can be used to iterate through the collection. - - - - - Gets the of with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of of this object's properties. - - An of of this object's properties. - - - - Gets a with the specified name. - - The property name. - A with the specified name or null. - - - - Gets the with the specified name. - The exact name will be searched for first and if no matching property is found then - the will be used to match a property. - - The property name. - One of the enumeration values that specifies how the strings will be compared. - A matched with the specified name or null. - - - - Gets a of of this object's property values. - - A of of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - is not valid JSON. - - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - is not valid JSON. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - is not valid JSON. - - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - is not valid JSON. - - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object. - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Determines whether the JSON object has the specified property name. - - Name of the property. - true if the JSON object has the specified property name; otherwise, false. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries to get the with the specified property name. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that can be used to iterate through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Represents a JSON property. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. - When the or - - methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a raw JSON string. - - - - - Asynchronously creates an instance of with the content of the reader's current token. - - The reader. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns an instance of with the content of the reader's current token. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Specifies the settings used when loading JSON. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how JSON comments are handled when loading JSON. - The default value is . - - The JSON comment handling. - - - - Gets or sets how JSON line info is handled when loading JSON. - The default value is . - - The JSON line info handling. - - - - Gets or sets how duplicate property names in JSON objects are handled when loading JSON. - The default value is . - - The JSON duplicate property name handling. - - - - Specifies the settings used when merging JSON. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Gets or sets how null value properties are merged. - - How null value properties are merged. - - - - Gets or sets the comparison used to match property names while merging. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - The comparison used to match property names while merging. - - - - Specifies the settings used when selecting JSON. - - - - - Gets or sets a timeout that will be used when executing regular expressions. - - The timeout that will be used when executing regular expressions. - - - - Gets or sets a flag that indicates whether an error should be thrown if - no tokens are found when evaluating part of the expression. - - - A flag that indicates whether an error should be thrown if - no tokens are found when evaluating part of the expression. - - - - - Represents an abstract JSON token. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Writes this token to a asynchronously. - - A into which this method will write. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously creates a from a . - - An positioned at the token to read into this . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains - the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains - the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - A positioned at the token to read into this . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - A positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - ToString() returns a non-JSON string value for tokens with a type of . - If you want the JSON for all token types then you should use . - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output should be formatted. - A collection of s which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Creates a for this token. - - A that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object. - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object. - - - - Creates an instance of the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - A positioned at the token to read into this . - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - A positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - A positioned at the token to read into this . - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JSONPath expression. Selects the token that matches the object path. - - - A that contains a JSONPath expression. - - A , or null. - - - - Selects a using a JSONPath expression. Selects the token that matches the object path. - - - A that contains a JSONPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a using a JSONPath expression. Selects the token that matches the object path. - - - A that contains a JSONPath expression. - - The used to select tokens. - A . - - - - Selects a collection of elements using a JSONPath expression. - - - A that contains a JSONPath expression. - - An of that contains the selected elements. - - - - Selects a collection of elements using a JSONPath expression. - - - A that contains a JSONPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An of that contains the selected elements. - - - - Selects a collection of elements using a JSONPath expression. - - - A that contains a JSONPath expression. - - The used to select tokens. - An of that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Initializes a new instance of the class. - - The token to read from. - The initial path of the token. It is prepended to the returned . - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being written. - - The token being written. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying . - - - - - Closes this writer. - If is set to true, the JSON is auto-completed. - - - Setting to true has no additional effect, since the underlying is a type that cannot be closed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will be raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a undefined value. - - A undefined value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of s which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - ToString() returns a non-JSON string value for tokens with a type of . - If you want the JSON for all token types then you should use . - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not of the same type as this instance. - - - - - Specifies how line information is handled when loading JSON. - - - - - Ignore line information. - - - - - Load line information. - - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies how null value properties are merged. - - - - - The content's null value properties will be ignored during merging. - - - - - The content's null value properties will be merged. - - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - The property is not required but it cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read-only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisible by. - - A number that the value should be divisible by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). - - A flag indicating whether the value can not equal the number defined by the minimum attribute (). - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). - - A flag indicating whether the value can not equal the number defined by the maximum attribute (). - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallowed types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains JSON Schema. - - A that contains JSON Schema. - A populated from the string that contains JSON Schema. - - - - Load a from a string that contains JSON Schema using the specified . - - A that contains JSON Schema. - The resolver. - A populated from the string that contains JSON Schema. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. - - - - - - A camel case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used by to resolve a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. - - - true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. - - - true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. - - The naming strategy used to resolve how property names and dictionary keys are serialized. - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the name of the extension data. By default no changes are made to extension data names. - - Name of the extension data. - Resolved name of the extension data. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default naming strategy. Property names and dictionary keys are unchanged. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolve a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that was resolved from the reference. - - - - Gets the reference for the specified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Allows users to control class loading and mandate what class to load. - - - - - When implemented, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object - The type of the object the formatter creates a new instance of. - - - - When implemented, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets the internally resolved for the contract's type. - This converter is used as a fallback converter when no other converter is resolved. - Setting will always override this converter. - - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non-public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object constructor. - - The object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets the missing member handling used when deserializing this object. - - The missing member handling. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets or sets how the object's properties with null values are handled during serialization and deserialization. - - How the object's properties with null values are handled during serialization and deserialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Gets or sets the extension data value type. - - - - - Gets or sets the extension data name resolver. - - The extension data name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization of a member. - - The numeric order of serialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes precedence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether has a value specified. - - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the type described by the argument. - - The type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - A kebab case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - A base class for resolving how property names and dictionary keys are serialized. - - - - - A flag indicating whether dictionary keys should be processed. - Defaults to false. - - - - - A flag indicating whether extension data names should be processed. - Defaults to false. - - - - - A flag indicating whether explicitly specified property names, - e.g. a property name customized with a , should be processed. - Defaults to false. - - - - - Gets the serialized name for a given property name. - - The initial property name. - A flag indicating whether the property has had a name explicitly specified. - The serialized property name. - - - - Gets the serialized name for a given extension data name. - - The initial extension data name. - The serialized extension data name. - - - - Gets the serialized key for a given dictionary key. - - The initial dictionary key. - The serialized dictionary key. - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Hash code calculation - - - - - - Object equality implementation - - - - - - - Compare to another NamingStrategy - - - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - A snake case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Indicates the method that will be used during deserialization for locating and loading assemblies. - - - - - In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. - - - - - In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. - - - - - Specifies type name handling options for the . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON - you must specify a root type object with - or . - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic . - - The list to add to. - The collection of elements to add. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Helper class for serializing immutable collections. - Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed - https://github.com/JamesNK/Newtonsoft.Json/issues/652 - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike this class lets you reuse its internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls result in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - An array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - Specifies that an output will not be null even if the corresponding type allows it. - - - Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter will not be null. - - - - Gets the return value condition. - - - Specifies that an output may be null even if the corresponding type disallows it. - - - Specifies that null is allowed as an input even if the corresponding type disallows it. - - - - Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - - - - - Initializes a new instance of the class. - - - The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - the associated parameter matches this value. - - - - Gets the condition parameter value. - - - diff --git a/UnitTestGhSA/bin/x64/Debug/OasysUnits.dll b/UnitTestGhSA/bin/x64/Debug/OasysUnits.dll deleted file mode 100644 index 67b32dcb4d399376bc8d092f6ea67559e77f16b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60928 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 M;ri+IiL=0e0Zg>~SpWb4 diff --git a/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.dll b/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.dll deleted file mode 100644 index 1cadbf3ee367da5c24e64e25054ab2fc0b6e8e79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78992 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 K-NGShM*DxMJ0np5 diff --git a/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml b/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml deleted file mode 100644 index 6dcce66fd..000000000 --- a/UnitTestGhSA/bin/x64/Debug/System.ValueTuple.xml +++ /dev/null @@ -1,1299 +0,0 @@ - - - - System.ValueTuple - - - - - Indicates that the use of on a member is meant to be treated as a tuple with element names. - - - - - Initializes a new instance of the class. - - - Specifies, in a pre-order depth-first traversal of a type's - construction, which occurrences are - meant to carry element names. - - - This constructor is meant to be used on types that contain an - instantiation of that contains - element names. For instance, if C is a generic type with - two type parameters, then a use of the constructed type C{, might be intended to - treat the first type argument as a tuple with element names and the - second as a tuple without element names. In which case, the - appropriate attribute specification should use a - transformNames value of { "name1", "name2", null, null, - null }. - - - - - Specifies, in a pre-order depth-first traversal of a type's - construction, which elements are - meant to carry element names. - - - - - Provides extension methods for instances to interop with C# tuples features (deconstruction syntax, converting from and to ). - - - - - Deconstruct a properly nested with 1 elements. - - - - - Deconstruct a properly nested with 2 elements. - - - - - Deconstruct a properly nested with 3 elements. - - - - - Deconstruct a properly nested with 4 elements. - - - - - Deconstruct a properly nested with 5 elements. - - - - - Deconstruct a properly nested with 6 elements. - - - - - Deconstruct a properly nested with 7 elements. - - - - - Deconstruct a properly nested with 8 elements. - - - - - Deconstruct a properly nested with 9 elements. - - - - - Deconstruct a properly nested with 10 elements. - - - - - Deconstruct a properly nested with 11 elements. - - - - - Deconstruct a properly nested with 12 elements. - - - - - Deconstruct a properly nested with 13 elements. - - - - - Deconstruct a properly nested with 14 elements. - - - - - Deconstruct a properly nested with 15 elements. - - - - - Deconstruct a properly nested with 16 elements. - - - - - Deconstruct a properly nested with 17 elements. - - - - - Deconstruct a properly nested with 18 elements. - - - - - Deconstruct a properly nested with 19 elements. - - - - - Deconstruct a properly nested with 20 elements. - - - - - Deconstruct a properly nested with 21 elements. - - - - - Make a properly nested from a properly nested with 1 element. - - - - - Make a properly nested from a properly nested with 2 elements. - - - - - Make a properly nested from a properly nested with 3 elements. - - - - - Make a properly nested from a properly nested with 4 elements. - - - - - Make a properly nested from a properly nested with 5 elements. - - - - - Make a properly nested from a properly nested with 6 elements. - - - - - Make a properly nested from a properly nested with 7 elements. - - - - - Make a properly nested from a properly nested with 8 elements. - - - - - Make a properly nested from a properly nested with 9 elements. - - - - - Make a properly nested from a properly nested with 10 elements. - - - - - Make a properly nested from a properly nested with 11 elements. - - - - - Make a properly nested from a properly nested with 12 elements. - - - - - Make a properly nested from a properly nested with 13 elements. - - - - - Make a properly nested from a properly nested with 14 elements. - - - - - Make a properly nested from a properly nested with 15 elements. - - - - - Make a properly nested from a properly nested with 16 elements. - - - - - Make a properly nested from a properly nested with 17 elements. - - - - - Make a properly nested from a properly nested with 18 elements. - - - - - Make a properly nested from a properly nested with 19 elements. - - - - - Make a properly nested from a properly nested with 20 elements. - - - - - Make a properly nested from a properly nested with 21 elements. - - - - - Make a properly nested from a properly nested with 1 element. - - - - - Make a properly nested from a properly nested with 2 elements. - - - - - Make a properly nested from a properly nested with 3 elements. - - - - - Make a properly nested from a properly nested with 4 elements. - - - - - Make a properly nested from a properly nested with 5 elements. - - - - - Make a properly nested from a properly nested with 6 elements. - - - - - Make a properly nested from a properly nested with 7 elements. - - - - - Make a properly nested from a properly nested with 8 elements. - - - - - Make a properly nested from a properly nested with 9 elements. - - - - - Make a properly nested from a properly nested with 10 elements. - - - - - Make a properly nested from a properly nested with 11 elements. - - - - - Make a properly nested from a properly nested with 12 elements. - - - - - Make a properly nested from a properly nested with 13 elements. - - - - - Make a properly nested from a properly nested with 14 elements. - - - - - Make a properly nested from a properly nested with 15 elements. - - - - - Make a properly nested from a properly nested with 16 elements. - - - - - Make a properly nested from a properly nested with 17 elements. - - - - - Make a properly nested from a properly nested with 18 elements. - - - - - Make a properly nested from a properly nested with 19 elements. - - - - - Make a properly nested from a properly nested with 20 elements. - - - - - Make a properly nested from a properly nested with 21 elements. - - - - - Helper so we can call some tuple methods recursively without knowing the underlying types. - - - - - The ValueTuple types (from arity 0 to 8) comprise the runtime implementation that underlies tuples in C# and struct tuples in F#. - Aside from created via language syntax, they are most easily created via the ValueTuple.Create factory methods. - The System.ValueTuple types differ from the System.Tuple types in that: - - they are structs rather than classes, - - they are mutable rather than readonly, and - - their members (such as Item1, Item2, etc) are fields rather than properties. - - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if is a . - - - Returns a value indicating whether this instance is equal to a specified value. - An instance to compare to this instance. - true if has the same value as this instance; otherwise, false. - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - Returns the hash code for this instance. - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (). - - - - Creates a new struct 0-tuple. - A 0-tuple. - - - Creates a new struct 1-tuple, or singleton. - The type of the first component of the tuple. - The value of the first component of the tuple. - A 1-tuple (singleton) whose value is (item1). - - - Creates a new struct 2-tuple, or pair. - The type of the first component of the tuple. - The type of the second component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - A 2-tuple (pair) whose value is (item1, item2). - - - Creates a new struct 3-tuple, or triple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - A 3-tuple (triple) whose value is (item1, item2, item3). - - - Creates a new struct 4-tuple, or quadruple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - A 4-tuple (quadruple) whose value is (item1, item2, item3, item4). - - - Creates a new struct 5-tuple, or quintuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - A 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5). - - - Creates a new struct 6-tuple, or sextuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - A 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6). - - - Creates a new struct 7-tuple, or septuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The type of the seventh component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The value of the seventh component of the tuple. - A 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7). - - - Creates a new struct 8-tuple, or octuple. - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The type of the seventh component of the tuple. - The type of the eighth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The value of the seventh component of the tuple. - The value of the eighth component of the tuple. - An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8). - - - Represents a 1-tuple, or singleton, as a value type. - The type of the tuple's only component. - - - - The current instance's first component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its field - is equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1), - where Item1 represents the value of . If the field is , - it is represented as . - - - - - Represents a 2-tuple, or pair, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - if the current instance is equal to the specified object; otherwise, . - - - This member is an explicit interface member implementation. It can be used only when the - instance is cast to an interface. - - The implementation is called only if other is not , - and if it can be successfully cast (in C#) or converted (in Visual Basic) to a - whose components are of the same types as those of the current instance. The IStructuralEquatable.Equals(Object, IEqualityComparer) method - first passes the values of the objects to be compared to the - implementation. If this method call returns , the method is - called again and passed the values of the two instances. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2), - where Item1 and Item2 represent the values of the - and fields. If either field value is , - it is represented as . - - - - - Represents a 3-tuple, or triple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3). - If any field value is , it is represented as . - - - - - Represents a 4-tuple, or quadruple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4). - If any field value is , it is represented as . - - - - - Represents a 5-tuple, or quintuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5). - If any field value is , it is represented as . - - - - - Represents a 6-tuple, or sixtuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - The current instance's sixth component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - The value of the tuple's sixth component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6). - If any field value is , it is represented as . - - - - - Represents a 7-tuple, or sentuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - The type of the tuple's seventh component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - The current instance's sixth component. - - - - - The current instance's seventh component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - The value of the tuple's sixth component. - The value of the tuple's seventh component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6, Item7). - If any field value is , it is represented as . - - - - - Represents an 8-tuple, or octuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - The type of the tuple's seventh component. - The type of the tuple's eighth component. - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - The current instance's sixth component. - - - - - The current instance's seventh component. - - - - - The current instance's eighth component. - - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - The value of the tuple's sixth component. - The value of the tuple's seventh component. - The value of the tuple's eight component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6, Item7, Rest). - If any field value is , it is represented as . - - - - diff --git a/UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll b/UnitTestGhSA/bin/x64/Debug/UnitTestGhSA.dll deleted file mode 100644 index c6c443c8c4806eb0f4af3a76f79546e059d8c410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40960 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 a8antGfcMb(SsI>OI$QpBj-UKJuKyRkBCc%! diff --git a/UnitTestGhSA/bin/x64/Debug/UnitsNet.dll b/UnitTestGhSA/bin/x64/Debug/UnitsNet.dll deleted file mode 100644 index 94111d532cc198db13ee163617dde91e69ecad29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1635328 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
    6C-JS}@E*g_wCO!o%d+3-UQ=g`ah!3I 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 L*82aitrGZOJvMUJ diff --git a/UnitTestGhSA/bin/x64/Debug/UnitsNet.xml b/UnitTestGhSA/bin/x64/Debug/UnitsNet.xml deleted file mode 100644 index 88a2eb44a..000000000 --- a/UnitTestGhSA/bin/x64/Debug/UnitsNet.xml +++ /dev/null @@ -1,62732 +0,0 @@ - - - - UnitsNet - - - -

    - Unable to parse because more than one unit of the given quantity type had this exact unit abbreviation. - Example: Length.Parse("1 pt") will throw , because both - and - have "pt" as their abbreviation. - - - - - - - - - - - Represents the base dimensions of a quantity. - - - - - - - - Checks if the dimensions represent a base quantity. - - True if the dimensions represent a base quantity, otherwise false. - - - - Checks if the dimensions represent a derived quantity. - - True if the dimensions represent a derived quantity, otherwise false. - - - - Checks if this base dimensions object represents a dimensionless quantity. - - True if this object represents a dimensionless quantity, otherwise false. - - - - - - - - - - Get resulting dimensions after multiplying two dimensions, by performing addition of each dimension. - - Other dimensions. - Resulting dimensions. - - - - Get resulting dimensions after dividing two dimensions, by performing subtraction of each dimension. - - Other dimensions. - Resulting dimensions. - - - - Check if two dimensions are equal. - - Left. - Right. - True if equal. - - - - Check if two dimensions are unequal. - - Left. - Right. - True if not equal. - - - - Multiply two dimensions. - - Left. - Right. - Resulting dimensions. - - - - Divide two dimensions. - - Left. - Right. - Resulting dimensions. - - - - - - - Gets the length dimensions (L). - - - - - Gets the mass dimensions (M). - - - - - Gets the time dimensions (T). - - - - - Gets the electric current dimensions (I). - - - - - Gets the temperature dimensions (Θ). - - - - - Gets the amount of substance dimensions (N). - - - - - Gets the luminous intensity dimensions (J). - - - - - Represents a dimensionless (unitless) quantity. - - - - - - Represents the base units for a quantity. All quantities, both base and derived, can be - represented by a combination of these seven base units. - - - - - Represents BaseUnits that have not been defined. - - - - - Creates an instance of if the base units class that represents the base units for a quantity. - All quantities, both base and derived, can be represented by a combination of these seven base units. - - The length unit (L). - The mass unit (M). - The time unit (T). - The electric current unit (I). - The temperature unit (Θ). - The amount of substance unit (N). - The luminous intensity unit (J). - - - - - - - Checks if all of the base units are equal to another instance's. - - The other instance to check if equal to. - True if equal, otherwise false. - - - - Checks if the base units are a subset of another. Undefined base units are ignored. - If all base united are undefined (equal to ), - IsSubsetOf will return true only if other is also equal to . - - The other to compare to. - True if the base units are a subset of other, otherwise false. - - - - - - - Checks if this instance is equal to another. - - The left instance. - The right instance. - True if equal, otherwise false. - - - - - Checks if this instance is not equal to another. - - The left instance. - The right instance. - True if not equal, otherwise false. - - - - - - - - Gets the length unit (L). - - - - - Gets the mass unit (M). - - - - - Gets the time unit (T). - - - - - Gets the electric current unit (I). - - - - - Gets the temperature unit (Θ). - - - - - Gets the amount of substance unit (N). - - - - - Gets the luminous intensity unit (J). - - - - - Gets whether or not all of the base units are defined. - - - - - Helper methods to perform relative and absolute comparison. - - - - - - Checks if two values are equal with a given relative or absolute tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between - and - as a percentage of . A relative tolerance of - 0.01 means the - absolute difference of and must be within +/- - 1%. - - In this example, the two values will be equal if the value of b is within +/- 1% of a. - - Equals(a, b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between - and - as a fixed number. - - In this example, the two values will be equal if abs( - - ) <= 0.01 - - Equals(a, b, 0.01, ComparisonType.Absolute); - - - - - - The reference value. If using relative tolerance, it is the value which the relative - tolerance will be calculated against. - - The value to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - Whether the tolerance is absolute or relative. - - - - - Checks if two values are equal with a given relative tolerance. - - Relative tolerance is defined as the maximum allowable absolute difference between - and - as a percentage of . A relative tolerance of - 0.01 means the - absolute difference of and must be within +/- - 1%. - - In this example, the two values will be equal if the value of b is within +/- 1% of a. - - EqualsRelative(a, b, 0.01); - - - - - The reference value which the tolerance will be calculated against. - The value to compare to. - The relative tolerance. Must be greater than or equal to 0. - True if the two values are equal within the given relative tolerance, otherwise false. - - - - Checks if two values are equal with a given absolute tolerance. - - Absolute tolerance is defined as the maximum allowable absolute difference between - and - as a fixed number. - - In this example, the two values will be equal if abs( - - ) <= 0.01 - - Equals(a, b, 0.01, ComparisonType.Absolute); - - - - - The first value. - The second value. - The absolute tolerance. Must be greater than or equal to 0. - True if the two values are equal within the given absolute tolerance, otherwise false. - - - - Specifies if the comparison between numbers is absolute or relative. - - - - - Error margin in relative size to a reference value. - - - - - Error margin as absolute size. - - - - - Compiled lambda expressions that can be invoked with generic run-time parameters. This is used for performance as - it is far faster than reflection based alternatives. - - - - - Multiplies the given values. - - The type of the operation (left hand side, right hand side, and result). - The left hand side parameter. - The right hand side parameter. - The multiplied result. - - - - Multiplies the given values. - - The type of the left hand side. - The type of the right hand side. - The result type. - The left hand side parameter. - The right hand side parameter. - The multiplied result. - - - - Divides the given values. - - The type of the operation (left hand side, right hand side, and result). - The left hand side parameter. - The right hand side parameter. - The divided result. - - - - Divides the given values. - - The type of the left hand side. - The type of the right hand side. - The result type. - The left hand side parameter. - The right hand side parameter. - The divided result. - - - - Adds the given values. - - The type of the operation (left hand side, right hand side, and result). - The left hand side parameter. - The right hand side parameter. - The added result. - - - - Adds the given values. - - The type of the left hand side. - The type of the right hand side. - The result type. - The left hand side parameter. - The right hand side parameter. - The added result. - - - - Subtracts the given values. - - The type of the operation (left hand side, right hand side, and result). - The left hand side parameter. - The right hand side parameter. - The subtracted result. - - - - Subtracts the given values. - - The type of the left hand side. - The type of the right hand side. - The result type. - The left hand side parameter. - The right hand side parameter. - The subtracted result. - - - - Gets the modulus of the given values. - - The type of the operation (left hand side, right hand side, and result). - The left hand side parameter. - The right hand side parameter. - The modulus. - - - - Gets the modulus of the given values. - - The type of the left hand side. - The type of the right hand side. - The result type. - The left hand side parameter. - The right hand side parameter. - The modulus. - - - - Checks if the left and right hand side are equal. - - The type of both the left and right hand side. - The left hand side parameter. - The right hand side parameter. - True if equal, otherwise false. - - - - Checks if the left and right hand side are equal. - - The type of the left hand side. - The type of the right hand side. - The left hand side parameter. - The right hand side parameter. - True if equal, otherwise false. - - - - Checks if the left and right hand side are not equal. - - The type of both the left and right hand side. - The left hand side parameter. - The right hand side parameter. - True if not equal, otherwise false. - - - - Checks if the left and right hand side are not equal. - - The type of the left hand side. - The type of the right hand side. - The left hand side parameter. - The right hand side parameter. - True if not equal, otherwise false. - - - - Checks if the left hand side is less than the right hand side. - - The type of the left hand side. - The type of the right hand side. - The left hand side parameter. - The right hand side parameter. - True if the left hand side is less than the right hand side, otherwise false. - - - - Checks if the left hand side is less than or equal to the right hand side. - - The type of the left hand side. - The type of the right hand side. - The left hand side parameter. - The right hand side parameter. - True if the left hand side is less than or equal to the right hand side, otherwise false. - - - - Checks if the left hand side is greater than the right hand side. - - The type of the left hand side. - The type of the right hand side. - The left hand side parameter. - The right hand side parameter. - True if the left hand side is greater than the right hand side, otherwise false. - - - - Checks if the left hand side is greater than or equal to the right hand side. - - The type of the left hand side. - The type of the right hand side. - The left hand side parameter. - The right hand side parameter. - True if the left hand side is greater than or equal to the right hand side, otherwise false. - - - - Creates a compiled lambda for the given . - - The type of the left hand side of the binary operation. - The type of the right hand side of the binary operation. - The type of the result of the binary operation. - The function that creates a binary expression to compile. - The compiled binary expression. - - - - Global configuration for culture, used as default culture in methods like and - . - - - - - Wrapper for . - - - - - - Acceleration, in physics, is the rate at which the velocity of an object changes over time. An object's acceleration is the net result of any and all forces acting on the object, as described by Newton's Second Law. The SI unit for acceleration is the Meter per second squared (m/s²). Accelerations are vector quantities (they have magnitude and direction) and add according to the parallelogram law. As a vector, the calculated net force is equal to the product of the object's mass (a scalar quantity) and the acceleration. - - - - - Multiply and to get . - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Acceleration, which is MeterPerSecondSquared. All conversions go via this value. - - - - - Represents the largest possible value of Acceleration - - - - - Represents the smallest possible value of Acceleration - - - - - The of this quantity. - - - - - All units of measurement for the Acceleration quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit MeterPerSecondSquared. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Acceleration in CentimetersPerSecondSquared. - - - - - Get Acceleration in DecimetersPerSecondSquared. - - - - - Get Acceleration in FeetPerSecondSquared. - - - - - Get Acceleration in InchesPerSecondSquared. - - - - - Get Acceleration in KilometersPerSecondSquared. - - - - - Get Acceleration in KnotsPerHour. - - - - - Get Acceleration in KnotsPerMinute. - - - - - Get Acceleration in KnotsPerSecond. - - - - - Get Acceleration in MetersPerSecondSquared. - - - - - Get Acceleration in MicrometersPerSecondSquared. - - - - - Get Acceleration in MillimetersPerSecondSquared. - - - - - Get Acceleration in MillistandardGravity. - - - - - Get Acceleration in NanometersPerSecondSquared. - - - - - Get Acceleration in StandardGravity. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Acceleration from CentimetersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from DecimetersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from FeetPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from InchesPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from KilometersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from KnotsPerHour. - - If value is NaN or Infinity. - - - - Get Acceleration from KnotsPerMinute. - - If value is NaN or Infinity. - - - - Get Acceleration from KnotsPerSecond. - - If value is NaN or Infinity. - - - - Get Acceleration from MetersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from MicrometersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from MillimetersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from MillistandardGravity. - - If value is NaN or Infinity. - - - - Get Acceleration from NanometersPerSecondSquared. - - If value is NaN or Infinity. - - - - Get Acceleration from StandardGravity. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Acceleration unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Acceleration within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Acceleration. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Acceleration to another Acceleration with the unit representation . - - A Acceleration with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Mole is the amount of substance containing Avagadro's Number (6.02 x 10 ^ 23) of real particles such as molecules,atoms, ions or radicals. - - - - - The Avogadro constant is the number of constituent particles, usually molecules, - atoms or ions that are contained in the amount of substance given by one mole. It is the proportionality factor that relates - the molar mass of a substance to the mass of a sample, is designated with the symbol NA or L[1], and has the value - 6.02214076e23 mol−1 in the International System of Units (SI). - - - Pending revisions in the base set of SI units necessitated redefinitions of the concepts of chemical quantity. The Avogadro number, - and its definition, was deprecated in favor of the Avogadro constant and its definition. Based on measurements made through the - middle of 2017 which calculated a value for the Avogadro constant of NA = 6.022140758(62)×1023 mol−1, the redefinition of SI units - is planned to take effect on 20 May 2019. The value of the constant will be fixed to exactly 6.02214076×1023 mol−1. - See here: https://www.bipm.org/utils/common/pdf/CGPM-2018/26th-CGPM-Resolutions.pdf - - - - - Calculates the number of particles (atoms or molecules) in this amount of substance using the . - - The number of particles (atoms or molecules) in this amount of substance. - - - Get from and a given . - - - Get from for a given . - - - Get from for a given . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of AmountOfSubstance, which is Mole. All conversions go via this value. - - - - - Represents the largest possible value of AmountOfSubstance - - - - - Represents the smallest possible value of AmountOfSubstance - - - - - The of this quantity. - - - - - All units of measurement for the AmountOfSubstance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Mole. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get AmountOfSubstance in Centimoles. - - - - - Get AmountOfSubstance in CentipoundMoles. - - - - - Get AmountOfSubstance in Decimoles. - - - - - Get AmountOfSubstance in DecipoundMoles. - - - - - Get AmountOfSubstance in Kilomoles. - - - - - Get AmountOfSubstance in KilopoundMoles. - - - - - Get AmountOfSubstance in Megamoles. - - - - - Get AmountOfSubstance in Micromoles. - - - - - Get AmountOfSubstance in MicropoundMoles. - - - - - Get AmountOfSubstance in Millimoles. - - - - - Get AmountOfSubstance in MillipoundMoles. - - - - - Get AmountOfSubstance in Moles. - - - - - Get AmountOfSubstance in Nanomoles. - - - - - Get AmountOfSubstance in NanopoundMoles. - - - - - Get AmountOfSubstance in PoundMoles. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get AmountOfSubstance from Centimoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from CentipoundMoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Decimoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from DecipoundMoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Kilomoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from KilopoundMoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Megamoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Micromoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from MicropoundMoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Millimoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from MillipoundMoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Moles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from Nanomoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from NanopoundMoles. - - If value is NaN or Infinity. - - - - Get AmountOfSubstance from PoundMoles. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - AmountOfSubstance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another AmountOfSubstance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current AmountOfSubstance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this AmountOfSubstance to another AmountOfSubstance with the unit representation . - - A AmountOfSubstance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The strength of a signal expressed in decibels (dB) relative to one volt RMS. - - - - - Initializes a new instance of the struct from the specified electric potential - referenced to one volt RMS. This assumes both the specified electric potential and the one volt reference have the - same - resistance. - - The electric potential referenced to one volt. - - - - Gets an from this . - - - Provides a nicer syntax for converting an amplitude ratio back to a voltage. - - var voltage = voltageRatio.ToElectricPotential(); - - - - - - Converts this to a . - - The input impedance of the load. This is usually 50, 75 or 600 ohms. - http://www.maximintegrated.com/en/app-notes/index.mvp/id/808 - - - - Gets an in decibels (dB) relative to 1 volt RMS from an - . - - The voltage (electric potential) relative to one volt RMS. - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of AmplitudeRatio, which is DecibelVolt. All conversions go via this value. - - - - - Represents the largest possible value of AmplitudeRatio - - - - - Represents the smallest possible value of AmplitudeRatio - - - - - The of this quantity. - - - - - All units of measurement for the AmplitudeRatio quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DecibelVolt. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get AmplitudeRatio in DecibelMicrovolts. - - - - - Get AmplitudeRatio in DecibelMillivolts. - - - - - Get AmplitudeRatio in DecibelsUnloaded. - - - - - Get AmplitudeRatio in DecibelVolts. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get AmplitudeRatio from DecibelMicrovolts. - - If value is NaN or Infinity. - - - - Get AmplitudeRatio from DecibelMillivolts. - - If value is NaN or Infinity. - - - - Get AmplitudeRatio from DecibelsUnloaded. - - If value is NaN or Infinity. - - - - Get AmplitudeRatio from DecibelVolts. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - AmplitudeRatio unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from logarithmic addition of two . - - - Get from logarithmic subtraction of two . - - - Get from logarithmic multiplication of value and . - - - Get from logarithmic multiplication of value and . - - - Get from logarithmic division of by value. - - - Get ratio value from logarithmic division of by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another AmplitudeRatio within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current AmplitudeRatio. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this AmplitudeRatio to another AmplitudeRatio with the unit representation . - - A AmplitudeRatio with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In geometry, an angle is the figure formed by two rays, called the sides of the angle, sharing a common endpoint, called the vertex of the angle. - - - - Get from delta over time delta. - - - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Angle, which is Degree. All conversions go via this value. - - - - - Represents the largest possible value of Angle - - - - - Represents the smallest possible value of Angle - - - - - The of this quantity. - - - - - All units of measurement for the Angle quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Degree. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Angle in Arcminutes. - - - - - Get Angle in Arcseconds. - - - - - Get Angle in Centiradians. - - - - - Get Angle in Deciradians. - - - - - Get Angle in Degrees. - - - - - Get Angle in Gradians. - - - - - Get Angle in Microdegrees. - - - - - Get Angle in Microradians. - - - - - Get Angle in Millidegrees. - - - - - Get Angle in Milliradians. - - - - - Get Angle in Nanodegrees. - - - - - Get Angle in Nanoradians. - - - - - Get Angle in Radians. - - - - - Get Angle in Revolutions. - - - - - Get Angle in Tilt. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Angle from Arcminutes. - - If value is NaN or Infinity. - - - - Get Angle from Arcseconds. - - If value is NaN or Infinity. - - - - Get Angle from Centiradians. - - If value is NaN or Infinity. - - - - Get Angle from Deciradians. - - If value is NaN or Infinity. - - - - Get Angle from Degrees. - - If value is NaN or Infinity. - - - - Get Angle from Gradians. - - If value is NaN or Infinity. - - - - Get Angle from Microdegrees. - - If value is NaN or Infinity. - - - - Get Angle from Microradians. - - If value is NaN or Infinity. - - - - Get Angle from Millidegrees. - - If value is NaN or Infinity. - - - - Get Angle from Milliradians. - - If value is NaN or Infinity. - - - - Get Angle from Nanodegrees. - - If value is NaN or Infinity. - - - - Get Angle from Nanoradians. - - If value is NaN or Infinity. - - - - Get Angle from Radians. - - If value is NaN or Infinity. - - - - Get Angle from Revolutions. - - If value is NaN or Infinity. - - - - Get Angle from Tilt. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Angle unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Angle within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Angle. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Angle to another Angle with the unit representation . - - A Angle with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Area is a quantity that expresses the extent of a two-dimensional surface or shape, or planar lamina, in the plane. Area can be understood as the amount of material with a given thickness that would be necessary to fashion a model of the shape, or the amount of paint necessary to cover the surface with a single coat.[1] It is the two-dimensional analog of the length of a curve (a one-dimensional concept) or the volume of a solid (a three-dimensional concept). - - - - Get circle area from a diameter. - - - Get circle area from a radius. - - - Get from divided by . - - - Get from times . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Area, which is SquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of Area - - - - - Represents the smallest possible value of Area - - - - - The of this quantity. - - - - - All units of measurement for the Area quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit SquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Area in Acres. - - - - - Get Area in Hectares. - - - - - Get Area in SquareCentimeters. - - - - - Get Area in SquareDecimeters. - - - - - Get Area in SquareFeet. - - - - - Get Area in SquareInches. - - - - - Get Area in SquareKilometers. - - - - - Get Area in SquareMeters. - - - - - Get Area in SquareMicrometers. - - - - - Get Area in SquareMiles. - - - - - Get Area in SquareMillimeters. - - - - - Get Area in SquareNauticalMiles. - - - - - Get Area in SquareYards. - - - - - Get Area in UsSurveySquareFeet. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Area from Acres. - - If value is NaN or Infinity. - - - - Get Area from Hectares. - - If value is NaN or Infinity. - - - - Get Area from SquareCentimeters. - - If value is NaN or Infinity. - - - - Get Area from SquareDecimeters. - - If value is NaN or Infinity. - - - - Get Area from SquareFeet. - - If value is NaN or Infinity. - - - - Get Area from SquareInches. - - If value is NaN or Infinity. - - - - Get Area from SquareKilometers. - - If value is NaN or Infinity. - - - - Get Area from SquareMeters. - - If value is NaN or Infinity. - - - - Get Area from SquareMicrometers. - - If value is NaN or Infinity. - - - - Get Area from SquareMiles. - - If value is NaN or Infinity. - - - - Get Area from SquareMillimeters. - - If value is NaN or Infinity. - - - - Get Area from SquareNauticalMiles. - - If value is NaN or Infinity. - - - - Get Area from SquareYards. - - If value is NaN or Infinity. - - - - Get Area from UsSurveySquareFeet. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Area unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Area within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Area. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Area to another Area with the unit representation . - - A Area with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A geometric property of an area that reflects how its points are distributed with regard to an axis. - - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of AreaMomentOfInertia, which is MeterToTheFourth. All conversions go via this value. - - - - - Represents the largest possible value of AreaMomentOfInertia - - - - - Represents the smallest possible value of AreaMomentOfInertia - - - - - The of this quantity. - - - - - All units of measurement for the AreaMomentOfInertia quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit MeterToTheFourth. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get AreaMomentOfInertia in CentimetersToTheFourth. - - - - - Get AreaMomentOfInertia in DecimetersToTheFourth. - - - - - Get AreaMomentOfInertia in FeetToTheFourth. - - - - - Get AreaMomentOfInertia in InchesToTheFourth. - - - - - Get AreaMomentOfInertia in MetersToTheFourth. - - - - - Get AreaMomentOfInertia in MillimetersToTheFourth. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get AreaMomentOfInertia from CentimetersToTheFourth. - - If value is NaN or Infinity. - - - - Get AreaMomentOfInertia from DecimetersToTheFourth. - - If value is NaN or Infinity. - - - - Get AreaMomentOfInertia from FeetToTheFourth. - - If value is NaN or Infinity. - - - - Get AreaMomentOfInertia from InchesToTheFourth. - - If value is NaN or Infinity. - - - - Get AreaMomentOfInertia from MetersToTheFourth. - - If value is NaN or Infinity. - - - - Get AreaMomentOfInertia from MillimetersToTheFourth. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - AreaMomentOfInertia unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another AreaMomentOfInertia within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current AreaMomentOfInertia. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this AreaMomentOfInertia to another AreaMomentOfInertia with the unit representation . - - A AreaMomentOfInertia with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Brake specific fuel consumption (BSFC) is a measure of the fuel efficiency of any prime mover that burns fuel and produces rotational, or shaft, power. It is typically used for comparing the efficiency of internal combustion engines with a shaft output. - - - - Get from times . - - - Get from divided by . - - - Get constant from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of BrakeSpecificFuelConsumption, which is KilogramPerJoule. All conversions go via this value. - - - - - Represents the largest possible value of BrakeSpecificFuelConsumption - - - - - Represents the smallest possible value of BrakeSpecificFuelConsumption - - - - - The of this quantity. - - - - - All units of measurement for the BrakeSpecificFuelConsumption quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerJoule. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get BrakeSpecificFuelConsumption in GramsPerKiloWattHour. - - - - - Get BrakeSpecificFuelConsumption in KilogramsPerJoule. - - - - - Get BrakeSpecificFuelConsumption in PoundsPerMechanicalHorsepowerHour. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get BrakeSpecificFuelConsumption from GramsPerKiloWattHour. - - If value is NaN or Infinity. - - - - Get BrakeSpecificFuelConsumption from KilogramsPerJoule. - - If value is NaN or Infinity. - - - - Get BrakeSpecificFuelConsumption from PoundsPerMechanicalHorsepowerHour. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - BrakeSpecificFuelConsumption unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another BrakeSpecificFuelConsumption within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current BrakeSpecificFuelConsumption. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this BrakeSpecificFuelConsumption to another BrakeSpecificFuelConsumption with the unit representation . - - A BrakeSpecificFuelConsumption with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The density, or more precisely, the volumetric mass density, of a substance is its mass per unit volume. - - - http://en.wikipedia.org/wiki/Density - - - - - Gets from this . - - - - - - - Get from . - - - - - Get from times . - - - Get from times . - - - Get from times . - - - Get times . - - - Get from times . - - - Get from divided by . - - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Density, which is KilogramPerCubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of Density - - - - - Represents the smallest possible value of Density - - - - - The of this quantity. - - - - - All units of measurement for the Density quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerCubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Density in CentigramsPerDeciLiter. - - - - - Get Density in CentigramsPerLiter. - - - - - Get Density in CentigramsPerMilliliter. - - - - - Get Density in DecigramsPerDeciLiter. - - - - - Get Density in DecigramsPerLiter. - - - - - Get Density in DecigramsPerMilliliter. - - - - - Get Density in GramsPerCubicCentimeter. - - - - - Get Density in GramsPerCubicMeter. - - - - - Get Density in GramsPerCubicMillimeter. - - - - - Get Density in GramsPerDeciLiter. - - - - - Get Density in GramsPerLiter. - - - - - Get Density in GramsPerMilliliter. - - - - - Get Density in KilogramsPerCubicCentimeter. - - - - - Get Density in KilogramsPerCubicMeter. - - - - - Get Density in KilogramsPerCubicMillimeter. - - - - - Get Density in KilogramsPerLiter. - - - - - Get Density in KilopoundsPerCubicFoot. - - - - - Get Density in KilopoundsPerCubicInch. - - - - - Get Density in MicrogramsPerCubicMeter. - - - - - Get Density in MicrogramsPerDeciLiter. - - - - - Get Density in MicrogramsPerLiter. - - - - - Get Density in MicrogramsPerMilliliter. - - - - - Get Density in MilligramsPerCubicMeter. - - - - - Get Density in MilligramsPerDeciLiter. - - - - - Get Density in MilligramsPerLiter. - - - - - Get Density in MilligramsPerMilliliter. - - - - - Get Density in NanogramsPerDeciLiter. - - - - - Get Density in NanogramsPerLiter. - - - - - Get Density in NanogramsPerMilliliter. - - - - - Get Density in PicogramsPerDeciLiter. - - - - - Get Density in PicogramsPerLiter. - - - - - Get Density in PicogramsPerMilliliter. - - - - - Get Density in PoundsPerCubicFoot. - - - - - Get Density in PoundsPerCubicInch. - - - - - Get Density in PoundsPerImperialGallon. - - - - - Get Density in PoundsPerUSGallon. - - - - - Get Density in SlugsPerCubicFoot. - - - - - Get Density in TonnesPerCubicCentimeter. - - - - - Get Density in TonnesPerCubicMeter. - - - - - Get Density in TonnesPerCubicMillimeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Density from CentigramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from CentigramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from CentigramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from DecigramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from DecigramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from DecigramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from GramsPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get Density from GramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get Density from GramsPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get Density from GramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from GramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from GramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from KilogramsPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get Density from KilogramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get Density from KilogramsPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get Density from KilogramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from KilopoundsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get Density from KilopoundsPerCubicInch. - - If value is NaN or Infinity. - - - - Get Density from MicrogramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get Density from MicrogramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from MicrogramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from MicrogramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from MilligramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get Density from MilligramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from MilligramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from MilligramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from NanogramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from NanogramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from NanogramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from PicogramsPerDeciLiter. - - If value is NaN or Infinity. - - - - Get Density from PicogramsPerLiter. - - If value is NaN or Infinity. - - - - Get Density from PicogramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get Density from PoundsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get Density from PoundsPerCubicInch. - - If value is NaN or Infinity. - - - - Get Density from PoundsPerImperialGallon. - - If value is NaN or Infinity. - - - - Get Density from PoundsPerUSGallon. - - If value is NaN or Infinity. - - - - Get Density from SlugsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get Density from TonnesPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get Density from TonnesPerCubicMeter. - - If value is NaN or Infinity. - - - - Get Density from TonnesPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Density unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Density within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Density. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Density to another Density with the unit representation . - - A Density with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Time is a dimension in which events can be ordered from the past through the present into the future, and also the measure of durations of events and the intervals between them. - - - - - Convert a Duration to a TimeSpan. - - Throws if the TimeSpan can't represent the Duration exactly - The TimeSpan with the same time as the duration - - - Get from plus . - - - Get from minus . - - - Explicitly cast to . - - - Explicitly cast to . - - - True if is less than . - - - True if is greater than . - - - True if is less than or equal to . - - - True if is greater than or equal to . - - - True if is less than . - - - True if is greater than . - - - True if is less than or equal to . - - - True if is greater than or equal to . - - - Get from times . - - - Calculate from multiplied by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Duration, which is Second. All conversions go via this value. - - - - - Represents the largest possible value of Duration - - - - - Represents the smallest possible value of Duration - - - - - The of this quantity. - - - - - All units of measurement for the Duration quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Second. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Duration in Days. - - - - - Get Duration in Hours. - - - - - Get Duration in Microseconds. - - - - - Get Duration in Milliseconds. - - - - - Get Duration in Minutes. - - - - - Get Duration in Months30. - - - - - Get Duration in Nanoseconds. - - - - - Get Duration in Seconds. - - - - - Get Duration in Weeks. - - - - - Get Duration in Years365. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Duration from Days. - - If value is NaN or Infinity. - - - - Get Duration from Hours. - - If value is NaN or Infinity. - - - - Get Duration from Microseconds. - - If value is NaN or Infinity. - - - - Get Duration from Milliseconds. - - If value is NaN or Infinity. - - - - Get Duration from Minutes. - - If value is NaN or Infinity. - - - - Get Duration from Months30. - - If value is NaN or Infinity. - - - - Get Duration from Nanoseconds. - - If value is NaN or Infinity. - - - - Get Duration from Seconds. - - If value is NaN or Infinity. - - - - Get Duration from Weeks. - - If value is NaN or Infinity. - - - - Get Duration from Years365. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Duration unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Duration within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Duration. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Duration to another Duration with the unit representation . - - A Duration with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The dynamic (shear) viscosity of a fluid expresses its resistance to shearing flows, where adjacent layers move parallel to each other with different speeds - - - https://en.wikipedia.org/wiki/Viscosity#Dynamic_.28shear.29_viscosity - - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of DynamicViscosity, which is NewtonSecondPerMeterSquared. All conversions go via this value. - - - - - Represents the largest possible value of DynamicViscosity - - - - - Represents the smallest possible value of DynamicViscosity - - - - - The of this quantity. - - - - - All units of measurement for the DynamicViscosity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonSecondPerMeterSquared. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get DynamicViscosity in Centipoise. - - - - - Get DynamicViscosity in MicropascalSeconds. - - - - - Get DynamicViscosity in MillipascalSeconds. - - - - - Get DynamicViscosity in NewtonSecondsPerMeterSquared. - - - - - Get DynamicViscosity in PascalSeconds. - - - - - Get DynamicViscosity in Poise. - - - - - Get DynamicViscosity in PoundsForceSecondPerSquareFoot. - - - - - Get DynamicViscosity in PoundsForceSecondPerSquareInch. - - - - - Get DynamicViscosity in PoundsPerFootSecond. - - - - - Get DynamicViscosity in Reyns. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get DynamicViscosity from Centipoise. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from MicropascalSeconds. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from MillipascalSeconds. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from NewtonSecondsPerMeterSquared. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from PascalSeconds. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from Poise. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from PoundsForceSecondPerSquareFoot. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from PoundsForceSecondPerSquareInch. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from PoundsPerFootSecond. - - If value is NaN or Infinity. - - - - Get DynamicViscosity from Reyns. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - DynamicViscosity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another DynamicViscosity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current DynamicViscosity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this DynamicViscosity to another DynamicViscosity with the unit representation . - - A DynamicViscosity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Electric charge is the physical property of matter that causes it to experience a force when placed in an electromagnetic field. - - - https://en.wikipedia.org/wiki/Electric_charge - - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricCharge, which is Coulomb. All conversions go via this value. - - - - - Represents the largest possible value of ElectricCharge - - - - - Represents the smallest possible value of ElectricCharge - - - - - The of this quantity. - - - - - All units of measurement for the ElectricCharge quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Coulomb. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricCharge in AmpereHours. - - - - - Get ElectricCharge in Coulombs. - - - - - Get ElectricCharge in KiloampereHours. - - - - - Get ElectricCharge in MegaampereHours. - - - - - Get ElectricCharge in MilliampereHours. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricCharge from AmpereHours. - - If value is NaN or Infinity. - - - - Get ElectricCharge from Coulombs. - - If value is NaN or Infinity. - - - - Get ElectricCharge from KiloampereHours. - - If value is NaN or Infinity. - - - - Get ElectricCharge from MegaampereHours. - - If value is NaN or Infinity. - - - - Get ElectricCharge from MilliampereHours. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricCharge unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricCharge within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricCharge. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricCharge to another ElectricCharge with the unit representation . - - A ElectricCharge with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - 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. - - - - Get from multiplied by . - Ohm's law implementation - - - Calculate from multiplied by . - Electric power is defined as P = U * I. - - - Calculate from multiplied by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricCurrent, which is Ampere. All conversions go via this value. - - - - - Represents the largest possible value of ElectricCurrent - - - - - Represents the smallest possible value of ElectricCurrent - - - - - The of this quantity. - - - - - All units of measurement for the ElectricCurrent quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Ampere. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricCurrent in Amperes. - - - - - Get ElectricCurrent in Centiamperes. - - - - - Get ElectricCurrent in Kiloamperes. - - - - - Get ElectricCurrent in Megaamperes. - - - - - Get ElectricCurrent in Microamperes. - - - - - Get ElectricCurrent in Milliamperes. - - - - - Get ElectricCurrent in Nanoamperes. - - - - - Get ElectricCurrent in Picoamperes. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricCurrent from Amperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Centiamperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Kiloamperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Megaamperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Microamperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Milliamperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Nanoamperes. - - If value is NaN or Infinity. - - - - Get ElectricCurrent from Picoamperes. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricCurrent unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricCurrent within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricCurrent. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricCurrent to another ElectricCurrent with the unit representation . - - A ElectricCurrent with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In classical electromagnetism, the electric potential (a scalar quantity denoted by Φ, ΦE or V and also called the electric field potential or the electrostatic potential) at a point is the amount of electric potential energy that a unitary point charge would have when located at that point. - - - - - Gets an in decibels (dB) relative to 1 volt RMS from this . - - - Provides a nicer syntax for converting a voltage to an amplitude ratio (relative to 1 volt RMS). - - var voltageRatio = voltage.ToAmplitudeRatio(); - - - - - Get from divided by . - Ohm's law implementation - - - Get from divided by . - Ohm's law implementation - - - Calculate from multiplied by . - Electric power is defined as P = U * I. - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricPotential, which is Volt. All conversions go via this value. - - - - - Represents the largest possible value of ElectricPotential - - - - - Represents the smallest possible value of ElectricPotential - - - - - The of this quantity. - - - - - All units of measurement for the ElectricPotential quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Volt. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricPotential in Kilovolts. - - - - - Get ElectricPotential in Megavolts. - - - - - Get ElectricPotential in Microvolts. - - - - - Get ElectricPotential in Millivolts. - - - - - Get ElectricPotential in Volts. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricPotential from Kilovolts. - - If value is NaN or Infinity. - - - - Get ElectricPotential from Megavolts. - - If value is NaN or Infinity. - - - - Get ElectricPotential from Microvolts. - - If value is NaN or Infinity. - - - - Get ElectricPotential from Millivolts. - - If value is NaN or Infinity. - - - - Get ElectricPotential from Volts. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricPotential unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricPotential within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricPotential. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricPotential to another ElectricPotential with the unit representation . - - A ElectricPotential with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The electrical resistance of an electrical conductor is the opposition to the passage of an electric current through that conductor. - - - - Get from multiplied by . - Ohm's law implementation - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricResistance, which is Ohm. All conversions go via this value. - - - - - Represents the largest possible value of ElectricResistance - - - - - Represents the smallest possible value of ElectricResistance - - - - - The of this quantity. - - - - - All units of measurement for the ElectricResistance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Ohm. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricResistance in Gigaohms. - - - - - Get ElectricResistance in Kiloohms. - - - - - Get ElectricResistance in Megaohms. - - - - - Get ElectricResistance in Microohms. - - - - - Get ElectricResistance in Milliohms. - - - - - Get ElectricResistance in Ohms. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricResistance from Gigaohms. - - If value is NaN or Infinity. - - - - Get ElectricResistance from Kiloohms. - - If value is NaN or Infinity. - - - - Get ElectricResistance from Megaohms. - - If value is NaN or Infinity. - - - - Get ElectricResistance from Microohms. - - If value is NaN or Infinity. - - - - Get ElectricResistance from Milliohms. - - If value is NaN or Infinity. - - - - Get ElectricResistance from Ohms. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricResistance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricResistance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricResistance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricResistance to another ElectricResistance with the unit representation . - - A ElectricResistance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In physics, a force is any influence that causes an object to undergo a certain change, either concerning its movement, direction, or geometrical construction. In other words, a force can cause an object with mass to change its velocity (which includes to begin moving from a state of rest), i.e., to accelerate, or a flexible object to deform, or both. Force can also be described by intuitive concepts such as a push or a pull. A force has both magnitude and direction, making it a vector quantity. It is measured in the SI unit of newtons and represented by the symbol F. - - - - Get from divided by . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Force, which is Newton. All conversions go via this value. - - - - - Represents the largest possible value of Force - - - - - Represents the smallest possible value of Force - - - - - The of this quantity. - - - - - All units of measurement for the Force quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Newton. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Force in Decanewtons. - - - - - Get Force in Dyne. - - - - - Get Force in KilogramsForce. - - - - - Get Force in Kilonewtons. - - - - - Get Force in KiloPonds. - - - - - Get Force in KilopoundsForce. - - - - - Get Force in Meganewtons. - - - - - Get Force in Micronewtons. - - - - - Get Force in Millinewtons. - - - - - Get Force in Newtons. - - - - - Get Force in OunceForce. - - - - - Get Force in Poundals. - - - - - Get Force in PoundsForce. - - - - - Get Force in ShortTonsForce. - - - - - Get Force in TonnesForce. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Force from Decanewtons. - - If value is NaN or Infinity. - - - - Get Force from Dyne. - - If value is NaN or Infinity. - - - - Get Force from KilogramsForce. - - If value is NaN or Infinity. - - - - Get Force from Kilonewtons. - - If value is NaN or Infinity. - - - - Get Force from KiloPonds. - - If value is NaN or Infinity. - - - - Get Force from KilopoundsForce. - - If value is NaN or Infinity. - - - - Get Force from Meganewtons. - - If value is NaN or Infinity. - - - - Get Force from Micronewtons. - - If value is NaN or Infinity. - - - - Get Force from Millinewtons. - - If value is NaN or Infinity. - - - - Get Force from Newtons. - - If value is NaN or Infinity. - - - - Get Force from OunceForce. - - If value is NaN or Infinity. - - - - Get Force from Poundals. - - If value is NaN or Infinity. - - - - Get Force from PoundsForce. - - If value is NaN or Infinity. - - - - Get Force from ShortTonsForce. - - If value is NaN or Infinity. - - - - Get Force from TonnesForce. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Force unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Force within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Force. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Force to another Force with the unit representation . - - A Force with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The magnitude of force per unit length. - - - - Get from multiplied by . - - - Get from divided by . - - - Get from divided by . - - - Get from multiplied by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ForcePerLength, which is NewtonPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of ForcePerLength - - - - - Represents the smallest possible value of ForcePerLength - - - - - The of this quantity. - - - - - All units of measurement for the ForcePerLength quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ForcePerLength in CentinewtonsPerCentimeter. - - - - - Get ForcePerLength in CentinewtonsPerMeter. - - - - - Get ForcePerLength in CentinewtonsPerMillimeter. - - - - - Get ForcePerLength in DecanewtonsPerCentimeter. - - - - - Get ForcePerLength in DecanewtonsPerMeter. - - - - - Get ForcePerLength in DecanewtonsPerMillimeter. - - - - - Get ForcePerLength in DecinewtonsPerCentimeter. - - - - - Get ForcePerLength in DecinewtonsPerMeter. - - - - - Get ForcePerLength in DecinewtonsPerMillimeter. - - - - - Get ForcePerLength in KilogramsForcePerCentimeter. - - - - - Get ForcePerLength in KilogramsForcePerMeter. - - - - - Get ForcePerLength in KilogramsForcePerMillimeter. - - - - - Get ForcePerLength in KilonewtonsPerCentimeter. - - - - - Get ForcePerLength in KilonewtonsPerMeter. - - - - - Get ForcePerLength in KilonewtonsPerMillimeter. - - - - - Get ForcePerLength in KilopoundsForcePerFoot. - - - - - Get ForcePerLength in KilopoundsForcePerInch. - - - - - Get ForcePerLength in MeganewtonsPerCentimeter. - - - - - Get ForcePerLength in MeganewtonsPerMeter. - - - - - Get ForcePerLength in MeganewtonsPerMillimeter. - - - - - Get ForcePerLength in MicronewtonsPerCentimeter. - - - - - Get ForcePerLength in MicronewtonsPerMeter. - - - - - Get ForcePerLength in MicronewtonsPerMillimeter. - - - - - Get ForcePerLength in MillinewtonsPerCentimeter. - - - - - Get ForcePerLength in MillinewtonsPerMeter. - - - - - Get ForcePerLength in MillinewtonsPerMillimeter. - - - - - Get ForcePerLength in NanonewtonsPerCentimeter. - - - - - Get ForcePerLength in NanonewtonsPerMeter. - - - - - Get ForcePerLength in NanonewtonsPerMillimeter. - - - - - Get ForcePerLength in NewtonsPerCentimeter. - - - - - Get ForcePerLength in NewtonsPerMeter. - - - - - Get ForcePerLength in NewtonsPerMillimeter. - - - - - Get ForcePerLength in PoundsForcePerFoot. - - - - - Get ForcePerLength in PoundsForcePerInch. - - - - - Get ForcePerLength in PoundsForcePerYard. - - - - - Get ForcePerLength in TonnesForcePerCentimeter. - - - - - Get ForcePerLength in TonnesForcePerMeter. - - - - - Get ForcePerLength in TonnesForcePerMillimeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ForcePerLength from CentinewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from CentinewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from CentinewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from DecanewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from DecanewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from DecanewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from DecinewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from DecinewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from DecinewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilogramsForcePerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilogramsForcePerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilogramsForcePerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilonewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilonewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilonewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilopoundsForcePerFoot. - - If value is NaN or Infinity. - - - - Get ForcePerLength from KilopoundsForcePerInch. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MeganewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MeganewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MeganewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MicronewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MicronewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MicronewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MillinewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MillinewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from MillinewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from NanonewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from NanonewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from NanonewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from NewtonsPerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from NewtonsPerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from NewtonsPerMillimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from PoundsForcePerFoot. - - If value is NaN or Infinity. - - - - Get ForcePerLength from PoundsForcePerInch. - - If value is NaN or Infinity. - - - - Get ForcePerLength from PoundsForcePerYard. - - If value is NaN or Infinity. - - - - Get ForcePerLength from TonnesForcePerCentimeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from TonnesForcePerMeter. - - If value is NaN or Infinity. - - - - Get ForcePerLength from TonnesForcePerMillimeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ForcePerLength unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ForcePerLength within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ForcePerLength. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ForcePerLength to another ForcePerLength with the unit representation . - - A ForcePerLength with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Heat flux is the flow of energy per unit of area per unit of time - - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of HeatFlux, which is WattPerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of HeatFlux - - - - - Represents the smallest possible value of HeatFlux - - - - - The of this quantity. - - - - - All units of measurement for the HeatFlux quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit WattPerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get HeatFlux in BtusPerHourSquareFoot. - - - - - Get HeatFlux in BtusPerMinuteSquareFoot. - - - - - Get HeatFlux in BtusPerSecondSquareFoot. - - - - - Get HeatFlux in BtusPerSecondSquareInch. - - - - - Get HeatFlux in CaloriesPerSecondSquareCentimeter. - - - - - Get HeatFlux in CentiwattsPerSquareMeter. - - - - - Get HeatFlux in DeciwattsPerSquareMeter. - - - - - Get HeatFlux in KilocaloriesPerHourSquareMeter. - - - - - Get HeatFlux in KilocaloriesPerSecondSquareCentimeter. - - - - - Get HeatFlux in KilowattsPerSquareMeter. - - - - - Get HeatFlux in MicrowattsPerSquareMeter. - - - - - Get HeatFlux in MilliwattsPerSquareMeter. - - - - - Get HeatFlux in NanowattsPerSquareMeter. - - - - - Get HeatFlux in PoundsForcePerFootSecond. - - - - - Get HeatFlux in PoundsPerSecondCubed. - - - - - Get HeatFlux in WattsPerSquareFoot. - - - - - Get HeatFlux in WattsPerSquareInch. - - - - - Get HeatFlux in WattsPerSquareMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get HeatFlux from BtusPerHourSquareFoot. - - If value is NaN or Infinity. - - - - Get HeatFlux from BtusPerMinuteSquareFoot. - - If value is NaN or Infinity. - - - - Get HeatFlux from BtusPerSecondSquareFoot. - - If value is NaN or Infinity. - - - - Get HeatFlux from BtusPerSecondSquareInch. - - If value is NaN or Infinity. - - - - Get HeatFlux from CaloriesPerSecondSquareCentimeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from CentiwattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from DeciwattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from KilocaloriesPerHourSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from KilocaloriesPerSecondSquareCentimeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from KilowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from MicrowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from MilliwattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from NanowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get HeatFlux from PoundsForcePerFootSecond. - - If value is NaN or Infinity. - - - - Get HeatFlux from PoundsPerSecondCubed. - - If value is NaN or Infinity. - - - - Get HeatFlux from WattsPerSquareFoot. - - If value is NaN or Infinity. - - - - Get HeatFlux from WattsPerSquareInch. - - If value is NaN or Infinity. - - - - Get HeatFlux from WattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - HeatFlux unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another HeatFlux within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current HeatFlux. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this HeatFlux to another HeatFlux with the unit representation . - - A HeatFlux with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The viscosity of a fluid is a measure of its resistance to gradual deformation by shear stress or tensile stress. - - - http://en.wikipedia.org/wiki/Viscosity - - - - Get from divided by . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of KinematicViscosity, which is SquareMeterPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of KinematicViscosity - - - - - Represents the smallest possible value of KinematicViscosity - - - - - The of this quantity. - - - - - All units of measurement for the KinematicViscosity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit SquareMeterPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get KinematicViscosity in Centistokes. - - - - - Get KinematicViscosity in Decistokes. - - - - - Get KinematicViscosity in Kilostokes. - - - - - Get KinematicViscosity in Microstokes. - - - - - Get KinematicViscosity in Millistokes. - - - - - Get KinematicViscosity in Nanostokes. - - - - - Get KinematicViscosity in SquareMetersPerSecond. - - - - - Get KinematicViscosity in Stokes. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get KinematicViscosity from Centistokes. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from Decistokes. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from Kilostokes. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from Microstokes. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from Millistokes. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from Nanostokes. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from SquareMetersPerSecond. - - If value is NaN or Infinity. - - - - Get KinematicViscosity from Stokes. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - KinematicViscosity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another KinematicViscosity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current KinematicViscosity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this KinematicViscosity to another KinematicViscosity with the unit representation . - - A KinematicViscosity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Lapse rate is the rate at which Earth's atmospheric temperature decreases with an increase in altitude, or increases with the decrease in altitude. - - - - Get from divided by . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of LapseRate, which is DegreeCelsiusPerKilometer. All conversions go via this value. - - - - - Represents the largest possible value of LapseRate - - - - - Represents the smallest possible value of LapseRate - - - - - The of this quantity. - - - - - All units of measurement for the LapseRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DegreeCelsiusPerKilometer. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get LapseRate in DegreesCelciusPerKilometer. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get LapseRate from DegreesCelciusPerKilometer. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - LapseRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another LapseRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current LapseRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this LapseRate to another LapseRate with the unit representation . - - A LapseRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Many different units of length have been used around the world. The main units in modern use are U.S. customary units in the United States and the Metric system elsewhere. British Imperial units are still used for some purposes in the United Kingdom and some other countries. The metric system is sub-divided into SI and non-SI units. - - - - - Converts the length to a customary feet/inches combination. - - - - - Get length from combination of feet and inches. - - - - - Special parsing of feet/inches strings, commonly used. - 2 feet 4 inches is sometimes denoted as 2′−4″, 2′ 4″, 2′4″, 2 ft 4 in. - The apostrophe can be ′ and '. - The double prime can be ″ and ". - https://en.wikipedia.org/wiki/Foot_(unit) - - - Optionally specify the culture format numbers and localize unit abbreviations. Defaults to thread's culture. - Parsed length. - - - - Special parsing of feet/inches strings, commonly used. - 2 feet 4 inches is sometimes denoted as 2′−4″, 2′ 4″, 2′4″, 2 ft 4 in. - The apostrophe can be ′ and '. - The double prime can be ″ and ". - https://en.wikipedia.org/wiki/Foot_(unit) - - - Parsed length. - Optionally specify the culture format numbers and localize unit abbreviations. Defaults to thread's culture. - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Length, which is Meter. All conversions go via this value. - - - - - Represents the largest possible value of Length - - - - - Represents the smallest possible value of Length - - - - - The of this quantity. - - - - - All units of measurement for the Length quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Meter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Length in AstronomicalUnits. - - - - - Get Length in Centimeters. - - - - - Get Length in Chains. - - - - - Get Length in Decimeters. - - - - - Get Length in DtpPicas. - - - - - Get Length in DtpPoints. - - - - - Get Length in Fathoms. - - - - - Get Length in Feet. - - - - - Get Length in Hands. - - - - - Get Length in Hectometers. - - - - - Get Length in Inches. - - - - - Get Length in KilolightYears. - - - - - Get Length in Kilometers. - - - - - Get Length in Kiloparsecs. - - - - - Get Length in LightYears. - - - - - Get Length in MegalightYears. - - - - - Get Length in Megaparsecs. - - - - - Get Length in Meters. - - - - - Get Length in Microinches. - - - - - Get Length in Micrometers. - - - - - Get Length in Mils. - - - - - Get Length in Miles. - - - - - Get Length in Millimeters. - - - - - Get Length in Nanometers. - - - - - Get Length in NauticalMiles. - - - - - Get Length in Parsecs. - - - - - Get Length in PrinterPicas. - - - - - Get Length in PrinterPoints. - - - - - Get Length in Shackles. - - - - - Get Length in SolarRadiuses. - - - - - Get Length in Twips. - - - - - Get Length in UsSurveyFeet. - - - - - Get Length in Yards. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Length from AstronomicalUnits. - - If value is NaN or Infinity. - - - - Get Length from Centimeters. - - If value is NaN or Infinity. - - - - Get Length from Chains. - - If value is NaN or Infinity. - - - - Get Length from Decimeters. - - If value is NaN or Infinity. - - - - Get Length from DtpPicas. - - If value is NaN or Infinity. - - - - Get Length from DtpPoints. - - If value is NaN or Infinity. - - - - Get Length from Fathoms. - - If value is NaN or Infinity. - - - - Get Length from Feet. - - If value is NaN or Infinity. - - - - Get Length from Hands. - - If value is NaN or Infinity. - - - - Get Length from Hectometers. - - If value is NaN or Infinity. - - - - Get Length from Inches. - - If value is NaN or Infinity. - - - - Get Length from KilolightYears. - - If value is NaN or Infinity. - - - - Get Length from Kilometers. - - If value is NaN or Infinity. - - - - Get Length from Kiloparsecs. - - If value is NaN or Infinity. - - - - Get Length from LightYears. - - If value is NaN or Infinity. - - - - Get Length from MegalightYears. - - If value is NaN or Infinity. - - - - Get Length from Megaparsecs. - - If value is NaN or Infinity. - - - - Get Length from Meters. - - If value is NaN or Infinity. - - - - Get Length from Microinches. - - If value is NaN or Infinity. - - - - Get Length from Micrometers. - - If value is NaN or Infinity. - - - - Get Length from Mils. - - If value is NaN or Infinity. - - - - Get Length from Miles. - - If value is NaN or Infinity. - - - - Get Length from Millimeters. - - If value is NaN or Infinity. - - - - Get Length from Nanometers. - - If value is NaN or Infinity. - - - - Get Length from NauticalMiles. - - If value is NaN or Infinity. - - - - Get Length from Parsecs. - - If value is NaN or Infinity. - - - - Get Length from PrinterPicas. - - If value is NaN or Infinity. - - - - Get Length from PrinterPoints. - - If value is NaN or Infinity. - - - - Get Length from Shackles. - - If value is NaN or Infinity. - - - - Get Length from SolarRadiuses. - - If value is NaN or Infinity. - - - - Get Length from Twips. - - If value is NaN or Infinity. - - - - Get Length from UsSurveyFeet. - - If value is NaN or Infinity. - - - - Get Length from Yards. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Length unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Length within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Length. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Length to another Length with the unit representation . - - A Length with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - Representation of feet and inches, used to preserve the original values when constructing by - and later output them unaltered with . - - - - - Construct from feet and inches. - - - - - The feet value it was constructed with. - - - - - The inches value it was constructed with. - - - - - - - - Outputs feet and inches on the format: {feetValue} {feetUnit} {inchesValue} {inchesUnit} - - Length.FromFeetInches(3,2).FeetInches.ToString() outputs: "3 ft 2 in" - - Optional culture to format number and localize unit abbreviations. - If null, defaults to . - - - - - - Level is the logarithm of the ratio of a quantity Q to a reference value of that quantity, Q₀, expressed in dimensionless units. - - - - - Initializes a new instance of the logarithmic struct which is the ratio of a quantity Q to a - reference value of that quantity Q0. - - The quantity. - The reference value that is compared to. - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Level, which is Decibel. All conversions go via this value. - - - - - Represents the largest possible value of Level - - - - - Represents the smallest possible value of Level - - - - - The of this quantity. - - - - - All units of measurement for the Level quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Decibel. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Level in Decibels. - - - - - Get Level in Nepers. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Level from Decibels. - - If value is NaN or Infinity. - - - - Get Level from Nepers. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Level unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from logarithmic addition of two . - - - Get from logarithmic subtraction of two . - - - Get from logarithmic multiplication of value and . - - - Get from logarithmic multiplication of value and . - - - Get from logarithmic division of by value. - - - Get ratio value from logarithmic division of by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Level within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Level. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Level to another Level with the unit representation . - - A Level with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The Linear Density, or more precisely, the linear mass density, of a substance is its mass per unit length. The term linear density is most often used when describing the characteristics of one-dimensional objects, although linear density can also be used to describe the density of a three-dimensional quantity along one particular dimension. - - - http://en.wikipedia.org/wiki/Linear_density - - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of LinearDensity, which is KilogramPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of LinearDensity - - - - - Represents the smallest possible value of LinearDensity - - - - - The of this quantity. - - - - - All units of measurement for the LinearDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get LinearDensity in GramsPerCentimeter. - - - - - Get LinearDensity in GramsPerMeter. - - - - - Get LinearDensity in GramsPerMillimeter. - - - - - Get LinearDensity in KilogramsPerCentimeter. - - - - - Get LinearDensity in KilogramsPerMeter. - - - - - Get LinearDensity in KilogramsPerMillimeter. - - - - - Get LinearDensity in MicrogramsPerCentimeter. - - - - - Get LinearDensity in MicrogramsPerMeter. - - - - - Get LinearDensity in MicrogramsPerMillimeter. - - - - - Get LinearDensity in MilligramsPerCentimeter. - - - - - Get LinearDensity in MilligramsPerMeter. - - - - - Get LinearDensity in MilligramsPerMillimeter. - - - - - Get LinearDensity in PoundsPerFoot. - - - - - Get LinearDensity in PoundsPerInch. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get LinearDensity from GramsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from GramsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from GramsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from KilogramsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from KilogramsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from KilogramsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from MicrogramsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from MicrogramsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from MicrogramsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from MilligramsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from MilligramsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from MilligramsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearDensity from PoundsPerFoot. - - If value is NaN or Infinity. - - - - Get LinearDensity from PoundsPerInch. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - LinearDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another LinearDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current LinearDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this LinearDensity to another LinearDensity with the unit representation . - - A LinearDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In physics, mass (from Greek μᾶζα "barley cake, lump [of dough]") is a property of a physical system or body, giving rise to the phenomena of the body's resistance to being accelerated by a force and the strength of its mutual gravitational attraction with other bodies. Instruments such as mass balances or scales use those phenomena to measure mass. The SI unit of mass is the kilogram (kg). - - - - Get from of gravity. - - - - StonePounds related code makes it easier to work with Stone/Pound combination, which are customarily used in the UK - to express body weight. For example, someone weighs 11 stone 4 pounds (about 72 kilograms). - - - - - Converts the mass to a customary stone/pounds combination. - - - - - Get Mass from combination of stone and pounds. - - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Mass, which is Kilogram. All conversions go via this value. - - - - - Represents the largest possible value of Mass - - - - - Represents the smallest possible value of Mass - - - - - The of this quantity. - - - - - All units of measurement for the Mass quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Kilogram. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Mass in Centigrams. - - - - - Get Mass in Decagrams. - - - - - Get Mass in Decigrams. - - - - - Get Mass in EarthMasses. - - - - - Get Mass in Grains. - - - - - Get Mass in Grams. - - - - - Get Mass in Hectograms. - - - - - Get Mass in Kilograms. - - - - - Get Mass in Kilopounds. - - - - - Get Mass in Kilotonnes. - - - - - Get Mass in LongHundredweight. - - - - - Get Mass in LongTons. - - - - - Get Mass in Megapounds. - - - - - Get Mass in Megatonnes. - - - - - Get Mass in Micrograms. - - - - - Get Mass in Milligrams. - - - - - Get Mass in Nanograms. - - - - - Get Mass in Ounces. - - - - - Get Mass in Pounds. - - - - - Get Mass in ShortHundredweight. - - - - - Get Mass in ShortTons. - - - - - Get Mass in Slugs. - - - - - Get Mass in SolarMasses. - - - - - Get Mass in Stone. - - - - - Get Mass in Tonnes. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Mass from Centigrams. - - If value is NaN or Infinity. - - - - Get Mass from Decagrams. - - If value is NaN or Infinity. - - - - Get Mass from Decigrams. - - If value is NaN or Infinity. - - - - Get Mass from EarthMasses. - - If value is NaN or Infinity. - - - - Get Mass from Grains. - - If value is NaN or Infinity. - - - - Get Mass from Grams. - - If value is NaN or Infinity. - - - - Get Mass from Hectograms. - - If value is NaN or Infinity. - - - - Get Mass from Kilograms. - - If value is NaN or Infinity. - - - - Get Mass from Kilopounds. - - If value is NaN or Infinity. - - - - Get Mass from Kilotonnes. - - If value is NaN or Infinity. - - - - Get Mass from LongHundredweight. - - If value is NaN or Infinity. - - - - Get Mass from LongTons. - - If value is NaN or Infinity. - - - - Get Mass from Megapounds. - - If value is NaN or Infinity. - - - - Get Mass from Megatonnes. - - If value is NaN or Infinity. - - - - Get Mass from Micrograms. - - If value is NaN or Infinity. - - - - Get Mass from Milligrams. - - If value is NaN or Infinity. - - - - Get Mass from Nanograms. - - If value is NaN or Infinity. - - - - Get Mass from Ounces. - - If value is NaN or Infinity. - - - - Get Mass from Pounds. - - If value is NaN or Infinity. - - - - Get Mass from ShortHundredweight. - - If value is NaN or Infinity. - - - - Get Mass from ShortTons. - - If value is NaN or Infinity. - - - - Get Mass from Slugs. - - If value is NaN or Infinity. - - - - Get Mass from SolarMasses. - - If value is NaN or Infinity. - - - - Get Mass from Stone. - - If value is NaN or Infinity. - - - - Get Mass from Tonnes. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Mass unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Mass within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Mass. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Mass to another Mass with the unit representation . - - A Mass with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - Representation of stone and pounds, used to preserve the original values when constructing by - and later output them unaltered with . - - - - - Construct from stone and pounds. - - - - - The stone value it was created with. - - - - - The pounds value it was created with. - - - - - - - - Outputs stone and pounds on the format: {stoneValue} {stoneUnit} {poundsValue} {poundsUnit} - - Mass.FromStonePounds(3,2).StonePounds.ToString() outputs: "3 st 2 lb" - - Optional culture to format number and localize unit abbreviations. - If null, defaults to . - - - - - - In chemistry, the mass concentration ρi (or γi) is defined as the mass of a constituent mi divided by the volume of the mixture V - - - https://en.wikipedia.org/wiki/Mass_concentration_(chemistry) - - - - - Get from this using the known component . - - - - - - Get from this using the known component . - - - - - - - Get from . - - - - - Get from and component . - - - - Get from times . - - - Get from times . - - - Get from divided by the component's . - - - Get from divided by the component's . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MassConcentration, which is KilogramPerCubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of MassConcentration - - - - - Represents the smallest possible value of MassConcentration - - - - - The of this quantity. - - - - - All units of measurement for the MassConcentration quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerCubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MassConcentration in CentigramsPerDeciliter. - - - - - Get MassConcentration in CentigramsPerLiter. - - - - - Get MassConcentration in CentigramsPerMicroliter. - - - - - Get MassConcentration in CentigramsPerMilliliter. - - - - - Get MassConcentration in DecigramsPerDeciliter. - - - - - Get MassConcentration in DecigramsPerLiter. - - - - - Get MassConcentration in DecigramsPerMicroliter. - - - - - Get MassConcentration in DecigramsPerMilliliter. - - - - - Get MassConcentration in GramsPerCubicCentimeter. - - - - - Get MassConcentration in GramsPerCubicMeter. - - - - - Get MassConcentration in GramsPerCubicMillimeter. - - - - - Get MassConcentration in GramsPerDeciliter. - - - - - Get MassConcentration in GramsPerLiter. - - - - - Get MassConcentration in GramsPerMicroliter. - - - - - Get MassConcentration in GramsPerMilliliter. - - - - - Get MassConcentration in KilogramsPerCubicCentimeter. - - - - - Get MassConcentration in KilogramsPerCubicMeter. - - - - - Get MassConcentration in KilogramsPerCubicMillimeter. - - - - - Get MassConcentration in KilogramsPerLiter. - - - - - Get MassConcentration in KilopoundsPerCubicFoot. - - - - - Get MassConcentration in KilopoundsPerCubicInch. - - - - - Get MassConcentration in MicrogramsPerCubicMeter. - - - - - Get MassConcentration in MicrogramsPerDeciliter. - - - - - Get MassConcentration in MicrogramsPerLiter. - - - - - Get MassConcentration in MicrogramsPerMicroliter. - - - - - Get MassConcentration in MicrogramsPerMilliliter. - - - - - Get MassConcentration in MilligramsPerCubicMeter. - - - - - Get MassConcentration in MilligramsPerDeciliter. - - - - - Get MassConcentration in MilligramsPerLiter. - - - - - Get MassConcentration in MilligramsPerMicroliter. - - - - - Get MassConcentration in MilligramsPerMilliliter. - - - - - Get MassConcentration in NanogramsPerDeciliter. - - - - - Get MassConcentration in NanogramsPerLiter. - - - - - Get MassConcentration in NanogramsPerMicroliter. - - - - - Get MassConcentration in NanogramsPerMilliliter. - - - - - Get MassConcentration in PicogramsPerDeciliter. - - - - - Get MassConcentration in PicogramsPerLiter. - - - - - Get MassConcentration in PicogramsPerMicroliter. - - - - - Get MassConcentration in PicogramsPerMilliliter. - - - - - Get MassConcentration in PoundsPerCubicFoot. - - - - - Get MassConcentration in PoundsPerCubicInch. - - - - - Get MassConcentration in PoundsPerImperialGallon. - - - - - Get MassConcentration in PoundsPerUSGallon. - - - - - Get MassConcentration in SlugsPerCubicFoot. - - - - - Get MassConcentration in TonnesPerCubicCentimeter. - - - - - Get MassConcentration in TonnesPerCubicMeter. - - - - - Get MassConcentration in TonnesPerCubicMillimeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MassConcentration from CentigramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from CentigramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from CentigramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from CentigramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from DecigramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from DecigramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from DecigramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from DecigramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from GramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from KilogramsPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from KilogramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from KilogramsPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from KilogramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from KilopoundsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get MassConcentration from KilopoundsPerCubicInch. - - If value is NaN or Infinity. - - - - Get MassConcentration from MicrogramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MicrogramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MicrogramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MicrogramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MicrogramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MilligramsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MilligramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MilligramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MilligramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from MilligramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from NanogramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from NanogramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from NanogramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from NanogramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from PicogramsPerDeciliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from PicogramsPerLiter. - - If value is NaN or Infinity. - - - - Get MassConcentration from PicogramsPerMicroliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from PicogramsPerMilliliter. - - If value is NaN or Infinity. - - - - Get MassConcentration from PoundsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get MassConcentration from PoundsPerCubicInch. - - If value is NaN or Infinity. - - - - Get MassConcentration from PoundsPerImperialGallon. - - If value is NaN or Infinity. - - - - Get MassConcentration from PoundsPerUSGallon. - - If value is NaN or Infinity. - - - - Get MassConcentration from SlugsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get MassConcentration from TonnesPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from TonnesPerCubicMeter. - - If value is NaN or Infinity. - - - - Get MassConcentration from TonnesPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MassConcentration unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MassConcentration within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MassConcentration. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MassConcentration to another MassConcentration with the unit representation . - - A MassConcentration with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Mass flow is the ratio of the mass change to the time during which the change occurred (value of mass changes per unit time). - - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MassFlow, which is GramPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of MassFlow - - - - - Represents the smallest possible value of MassFlow - - - - - The of this quantity. - - - - - All units of measurement for the MassFlow quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit GramPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MassFlow in CentigramsPerDay. - - - - - Get MassFlow in CentigramsPerSecond. - - - - - Get MassFlow in DecagramsPerDay. - - - - - Get MassFlow in DecagramsPerSecond. - - - - - Get MassFlow in DecigramsPerDay. - - - - - Get MassFlow in DecigramsPerSecond. - - - - - Get MassFlow in GramsPerDay. - - - - - Get MassFlow in GramsPerHour. - - - - - Get MassFlow in GramsPerSecond. - - - - - Get MassFlow in HectogramsPerDay. - - - - - Get MassFlow in HectogramsPerSecond. - - - - - Get MassFlow in KilogramsPerDay. - - - - - Get MassFlow in KilogramsPerHour. - - - - - Get MassFlow in KilogramsPerMinute. - - - - - Get MassFlow in KilogramsPerSecond. - - - - - Get MassFlow in MegagramsPerDay. - - - - - Get MassFlow in MegapoundsPerDay. - - - - - Get MassFlow in MegapoundsPerHour. - - - - - Get MassFlow in MegapoundsPerMinute. - - - - - Get MassFlow in MegapoundsPerSecond. - - - - - Get MassFlow in MicrogramsPerDay. - - - - - Get MassFlow in MicrogramsPerSecond. - - - - - Get MassFlow in MilligramsPerDay. - - - - - Get MassFlow in MilligramsPerSecond. - - - - - Get MassFlow in NanogramsPerDay. - - - - - Get MassFlow in NanogramsPerSecond. - - - - - Get MassFlow in PoundsPerDay. - - - - - Get MassFlow in PoundsPerHour. - - - - - Get MassFlow in PoundsPerMinute. - - - - - Get MassFlow in PoundsPerSecond. - - - - - Get MassFlow in ShortTonsPerHour. - - - - - Get MassFlow in TonnesPerDay. - - - - - Get MassFlow in TonnesPerHour. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MassFlow from CentigramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from CentigramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from DecagramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from DecagramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from DecigramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from DecigramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from GramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from GramsPerHour. - - If value is NaN or Infinity. - - - - Get MassFlow from GramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from HectogramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from HectogramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from KilogramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from KilogramsPerHour. - - If value is NaN or Infinity. - - - - Get MassFlow from KilogramsPerMinute. - - If value is NaN or Infinity. - - - - Get MassFlow from KilogramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from MegagramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from MegapoundsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from MegapoundsPerHour. - - If value is NaN or Infinity. - - - - Get MassFlow from MegapoundsPerMinute. - - If value is NaN or Infinity. - - - - Get MassFlow from MegapoundsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from MicrogramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from MicrogramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from MilligramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from MilligramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from NanogramsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from NanogramsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from PoundsPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from PoundsPerHour. - - If value is NaN or Infinity. - - - - Get MassFlow from PoundsPerMinute. - - If value is NaN or Infinity. - - - - Get MassFlow from PoundsPerSecond. - - If value is NaN or Infinity. - - - - Get MassFlow from ShortTonsPerHour. - - If value is NaN or Infinity. - - - - Get MassFlow from TonnesPerDay. - - If value is NaN or Infinity. - - - - Get MassFlow from TonnesPerHour. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MassFlow unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MassFlow within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MassFlow. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MassFlow to another MassFlow with the unit representation . - - A MassFlow with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Mass flux is the mass flow rate per unit area. - - - - Get from divided by . - - - Get from divided by . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MassFlux, which is KilogramPerSecondPerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of MassFlux - - - - - Represents the smallest possible value of MassFlux - - - - - The of this quantity. - - - - - All units of measurement for the MassFlux quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerSecondPerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MassFlux in GramsPerHourPerSquareCentimeter. - - - - - Get MassFlux in GramsPerHourPerSquareMeter. - - - - - Get MassFlux in GramsPerHourPerSquareMillimeter. - - - - - Get MassFlux in GramsPerSecondPerSquareCentimeter. - - - - - Get MassFlux in GramsPerSecondPerSquareMeter. - - - - - Get MassFlux in GramsPerSecondPerSquareMillimeter. - - - - - Get MassFlux in KilogramsPerHourPerSquareCentimeter. - - - - - Get MassFlux in KilogramsPerHourPerSquareMeter. - - - - - Get MassFlux in KilogramsPerHourPerSquareMillimeter. - - - - - Get MassFlux in KilogramsPerSecondPerSquareCentimeter. - - - - - Get MassFlux in KilogramsPerSecondPerSquareMeter. - - - - - Get MassFlux in KilogramsPerSecondPerSquareMillimeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MassFlux from GramsPerHourPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from GramsPerHourPerSquareMeter. - - If value is NaN or Infinity. - - - - Get MassFlux from GramsPerHourPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from GramsPerSecondPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from GramsPerSecondPerSquareMeter. - - If value is NaN or Infinity. - - - - Get MassFlux from GramsPerSecondPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from KilogramsPerHourPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from KilogramsPerHourPerSquareMeter. - - If value is NaN or Infinity. - - - - Get MassFlux from KilogramsPerHourPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from KilogramsPerSecondPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get MassFlux from KilogramsPerSecondPerSquareMeter. - - If value is NaN or Infinity. - - - - Get MassFlux from KilogramsPerSecondPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MassFlux unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MassFlux within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MassFlux. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MassFlux to another MassFlux with the unit representation . - - A MassFlux with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The mass fraction is defined as the mass of a constituent divided by the total mass of the mixture. - - - https://en.wikipedia.org/wiki/Mass_fraction_(chemistry) - - - - - Get the of the component by multiplying the of the mixture and this . - - The total mass of the mixture - The actual mass of the component involved in this mixture - - - - Get the total of the mixture by dividing the of the component by this - - The actual mass of the component involved in this mixture - The total mass of the mixture - - - - Get from a component and total mixture . - - - - Get from multiplied by a . - - - Get from multiplied by a . - - - Get the total by dividing the component by a . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MassFraction, which is DecimalFraction. All conversions go via this value. - - - - - Represents the largest possible value of MassFraction - - - - - Represents the smallest possible value of MassFraction - - - - - The of this quantity. - - - - - All units of measurement for the MassFraction quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DecimalFraction. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MassFraction in CentigramsPerGram. - - - - - Get MassFraction in CentigramsPerKilogram. - - - - - Get MassFraction in DecagramsPerGram. - - - - - Get MassFraction in DecagramsPerKilogram. - - - - - Get MassFraction in DecigramsPerGram. - - - - - Get MassFraction in DecigramsPerKilogram. - - - - - Get MassFraction in DecimalFractions. - - - - - Get MassFraction in GramsPerGram. - - - - - Get MassFraction in GramsPerKilogram. - - - - - Get MassFraction in HectogramsPerGram. - - - - - Get MassFraction in HectogramsPerKilogram. - - - - - Get MassFraction in KilogramsPerGram. - - - - - Get MassFraction in KilogramsPerKilogram. - - - - - Get MassFraction in MicrogramsPerGram. - - - - - Get MassFraction in MicrogramsPerKilogram. - - - - - Get MassFraction in MilligramsPerGram. - - - - - Get MassFraction in MilligramsPerKilogram. - - - - - Get MassFraction in NanogramsPerGram. - - - - - Get MassFraction in NanogramsPerKilogram. - - - - - Get MassFraction in PartsPerBillion. - - - - - Get MassFraction in PartsPerMillion. - - - - - Get MassFraction in PartsPerThousand. - - - - - Get MassFraction in PartsPerTrillion. - - - - - Get MassFraction in Percent. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MassFraction from CentigramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from CentigramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from DecagramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from DecagramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from DecigramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from DecigramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from DecimalFractions. - - If value is NaN or Infinity. - - - - Get MassFraction from GramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from GramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from HectogramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from HectogramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from KilogramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from KilogramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from MicrogramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from MicrogramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from MilligramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from MilligramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from NanogramsPerGram. - - If value is NaN or Infinity. - - - - Get MassFraction from NanogramsPerKilogram. - - If value is NaN or Infinity. - - - - Get MassFraction from PartsPerBillion. - - If value is NaN or Infinity. - - - - Get MassFraction from PartsPerMillion. - - If value is NaN or Infinity. - - - - Get MassFraction from PartsPerThousand. - - If value is NaN or Infinity. - - - - Get MassFraction from PartsPerTrillion. - - If value is NaN or Infinity. - - - - Get MassFraction from Percent. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MassFraction unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MassFraction within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MassFraction. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MassFraction to another MassFraction with the unit representation . - - A MassFraction with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Molar concentration, also called molarity, amount concentration or substance concentration, is a measure of the concentration of a solute in a solution, or of any chemical species, in terms of amount of substance in a given volume. - - - https://en.wikipedia.org/wiki/Molar_concentration - - - - - Construct from divided by . - - - - - - Get a from this . - - - - - - - Get a from this . - - - - - - Get a from this . - - - - - - - Get from . - - - - - - - Get from and known component and . - - - - - - - - Get from times the . - - - Get from times the . - - - Get from diluting the current by the given . - - - Get from diluting the current by the given . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Molarity, which is MolesPerCubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of Molarity - - - - - Represents the smallest possible value of Molarity - - - - - The of this quantity. - - - - - All units of measurement for the Molarity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit MolesPerCubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Molarity in CentimolesPerLiter. - - - - - Get Molarity in DecimolesPerLiter. - - - - - Get Molarity in MicromolesPerLiter. - - - - - Get Molarity in MillimolesPerLiter. - - - - - Get Molarity in MolesPerCubicMeter. - - - - - Get Molarity in MolesPerLiter. - - - - - Get Molarity in NanomolesPerLiter. - - - - - Get Molarity in PicomolesPerLiter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Molarity from CentimolesPerLiter. - - If value is NaN or Infinity. - - - - Get Molarity from DecimolesPerLiter. - - If value is NaN or Infinity. - - - - Get Molarity from MicromolesPerLiter. - - If value is NaN or Infinity. - - - - Get Molarity from MillimolesPerLiter. - - If value is NaN or Infinity. - - - - Get Molarity from MolesPerCubicMeter. - - If value is NaN or Infinity. - - - - Get Molarity from MolesPerLiter. - - If value is NaN or Infinity. - - - - Get Molarity from NanomolesPerLiter. - - If value is NaN or Infinity. - - - - Get Molarity from PicomolesPerLiter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Molarity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Molarity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Molarity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Molarity to another Molarity with the unit representation . - - A Molarity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In physics, power is the rate of doing work. It is equivalent to an amount of energy consumed per unit time. - - - - - Gets a from this relative to one watt. - - - Provides a nicer syntax for converting a power to a power ratio (relative to 1 watt). - - var powerRatio = power.ToPowerRatio(); - - - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Calculate from divided by . - Electric power is defined as P = U * I, so I = P / U. - - - Calculate from divided by . - Electric power is defined as P = U * I, so I = P / U. - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Power, which is Watt. All conversions go via this value. - - - - - Represents the largest possible value of Power - - - - - Represents the smallest possible value of Power - - - - - The of this quantity. - - - - - All units of measurement for the Power quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Watt. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Power in BoilerHorsepower. - - - - - Get Power in BritishThermalUnitsPerHour. - - - - - Get Power in Decawatts. - - - - - Get Power in Deciwatts. - - - - - Get Power in ElectricalHorsepower. - - - - - Get Power in Femtowatts. - - - - - Get Power in GigajoulesPerHour. - - - - - Get Power in Gigawatts. - - - - - Get Power in HydraulicHorsepower. - - - - - Get Power in JoulesPerHour. - - - - - Get Power in KilobritishThermalUnitsPerHour. - - - - - Get Power in KilojoulesPerHour. - - - - - Get Power in Kilowatts. - - - - - Get Power in MechanicalHorsepower. - - - - - Get Power in MegajoulesPerHour. - - - - - Get Power in Megawatts. - - - - - Get Power in MetricHorsepower. - - - - - Get Power in Microwatts. - - - - - Get Power in MillijoulesPerHour. - - - - - Get Power in Milliwatts. - - - - - Get Power in Nanowatts. - - - - - Get Power in Petawatts. - - - - - Get Power in Picowatts. - - - - - Get Power in Terawatts. - - - - - Get Power in Watts. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Power from BoilerHorsepower. - - If value is NaN or Infinity. - - - - Get Power from BritishThermalUnitsPerHour. - - If value is NaN or Infinity. - - - - Get Power from Decawatts. - - If value is NaN or Infinity. - - - - Get Power from Deciwatts. - - If value is NaN or Infinity. - - - - Get Power from ElectricalHorsepower. - - If value is NaN or Infinity. - - - - Get Power from Femtowatts. - - If value is NaN or Infinity. - - - - Get Power from GigajoulesPerHour. - - If value is NaN or Infinity. - - - - Get Power from Gigawatts. - - If value is NaN or Infinity. - - - - Get Power from HydraulicHorsepower. - - If value is NaN or Infinity. - - - - Get Power from JoulesPerHour. - - If value is NaN or Infinity. - - - - Get Power from KilobritishThermalUnitsPerHour. - - If value is NaN or Infinity. - - - - Get Power from KilojoulesPerHour. - - If value is NaN or Infinity. - - - - Get Power from Kilowatts. - - If value is NaN or Infinity. - - - - Get Power from MechanicalHorsepower. - - If value is NaN or Infinity. - - - - Get Power from MegajoulesPerHour. - - If value is NaN or Infinity. - - - - Get Power from Megawatts. - - If value is NaN or Infinity. - - - - Get Power from MetricHorsepower. - - If value is NaN or Infinity. - - - - Get Power from Microwatts. - - If value is NaN or Infinity. - - - - Get Power from MillijoulesPerHour. - - If value is NaN or Infinity. - - - - Get Power from Milliwatts. - - If value is NaN or Infinity. - - - - Get Power from Nanowatts. - - If value is NaN or Infinity. - - - - Get Power from Petawatts. - - If value is NaN or Infinity. - - - - Get Power from Picowatts. - - If value is NaN or Infinity. - - - - Get Power from Terawatts. - - If value is NaN or Infinity. - - - - Get Power from Watts. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Power unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Power within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Power. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Power to another Power with the unit representation . - - A Power with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The strength of a signal expressed in decibels (dB) relative to one watt. - - - - - Initializes a new instance of the struct from the specified power referenced to one watt. - - The power relative to one watt. - - - - Gets a from this (which is a power level relative to one watt). - - - Provides a nicer syntax for converting a power ratio back to a power. - - var power = powerRatio.ToPower(); - - - - - - Gets a from this . - - The input impedance of the load. This is usually 50, 75 or 600 ohms. - - - - Gets a from a relative to one watt. - - The power relative to one watt. - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of PowerRatio, which is DecibelWatt. All conversions go via this value. - - - - - Represents the largest possible value of PowerRatio - - - - - Represents the smallest possible value of PowerRatio - - - - - The of this quantity. - - - - - All units of measurement for the PowerRatio quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DecibelWatt. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get PowerRatio in DecibelMilliwatts. - - - - - Get PowerRatio in DecibelWatts. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get PowerRatio from DecibelMilliwatts. - - If value is NaN or Infinity. - - - - Get PowerRatio from DecibelWatts. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - PowerRatio unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from logarithmic addition of two . - - - Get from logarithmic subtraction of two . - - - Get from logarithmic multiplication of value and . - - - Get from logarithmic multiplication of value and . - - - Get from logarithmic division of by value. - - - Get ratio value from logarithmic division of by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another PowerRatio within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current PowerRatio. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this PowerRatio to another PowerRatio with the unit representation . - - A PowerRatio with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Pressure (symbol: P or p) is the ratio of force to the area over which that force is distributed. Pressure is force per unit area applied in a direction perpendicular to the surface of an object. Gauge pressure (also spelled gage pressure)[a] is the pressure relative to the local atmospheric or ambient pressure. Pressure is measured in any unit of force divided by any unit of area. The SI unit of pressure is the newton per square metre, which is called the pascal (Pa) after the seventeenth-century philosopher and scientist Blaise Pascal. A pressure of 1 Pa is small; it approximately equals the pressure exerted by a dollar bill resting flat on a table. Everyday pressures are often stated in kilopascals (1 kPa = 1000 Pa). - - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Pressure, which is Pascal. All conversions go via this value. - - - - - Represents the largest possible value of Pressure - - - - - Represents the smallest possible value of Pressure - - - - - The of this quantity. - - - - - All units of measurement for the Pressure quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Pascal. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Pressure in Atmospheres. - - - - - Get Pressure in Bars. - - - - - Get Pressure in Centibars. - - - - - Get Pressure in Decapascals. - - - - - Get Pressure in Decibars. - - - - - Get Pressure in DynesPerSquareCentimeter. - - - - - Get Pressure in FeetOfElevation. - - - - - Get Pressure in FeetOfHead. - - - - - Get Pressure in Gigapascals. - - - - - Get Pressure in Hectopascals. - - - - - Get Pressure in InchesOfMercury. - - - - - Get Pressure in InchesOfWaterColumn. - - - - - Get Pressure in Kilobars. - - - - - Get Pressure in KilogramsForcePerSquareCentimeter. - - - - - Get Pressure in KilogramsForcePerSquareMeter. - - - - - Get Pressure in KilogramsForcePerSquareMillimeter. - - - - - Get Pressure in KilonewtonsPerSquareCentimeter. - - - - - Get Pressure in KilonewtonsPerSquareMeter. - - - - - Get Pressure in KilonewtonsPerSquareMillimeter. - - - - - Get Pressure in Kilopascals. - - - - - Get Pressure in KilopoundsForcePerSquareFoot. - - - - - Get Pressure in KilopoundsForcePerSquareInch. - - - - - Get Pressure in Megabars. - - - - - Get Pressure in MeganewtonsPerSquareMeter. - - - - - Get Pressure in Megapascals. - - - - - Get Pressure in MetersOfElevation. - - - - - Get Pressure in MetersOfHead. - - - - - Get Pressure in Microbars. - - - - - Get Pressure in Micropascals. - - - - - Get Pressure in Millibars. - - - - - Get Pressure in MillimetersOfMercury. - - - - - Get Pressure in Millipascals. - - - - - Get Pressure in NewtonsPerSquareCentimeter. - - - - - Get Pressure in NewtonsPerSquareMeter. - - - - - Get Pressure in NewtonsPerSquareMillimeter. - - - - - Get Pressure in Pascals. - - - - - Get Pressure in PoundsForcePerSquareFoot. - - - - - Get Pressure in PoundsForcePerSquareInch. - - - - - Get Pressure in PoundsPerInchSecondSquared. - - - - - Get Pressure in TechnicalAtmospheres. - - - - - Get Pressure in TonnesForcePerSquareCentimeter. - - - - - Get Pressure in TonnesForcePerSquareMeter. - - - - - Get Pressure in TonnesForcePerSquareMillimeter. - - - - - Get Pressure in Torrs. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Pressure from Atmospheres. - - If value is NaN or Infinity. - - - - Get Pressure from Bars. - - If value is NaN or Infinity. - - - - Get Pressure from Centibars. - - If value is NaN or Infinity. - - - - Get Pressure from Decapascals. - - If value is NaN or Infinity. - - - - Get Pressure from Decibars. - - If value is NaN or Infinity. - - - - Get Pressure from DynesPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Pressure from FeetOfElevation. - - If value is NaN or Infinity. - - - - Get Pressure from FeetOfHead. - - If value is NaN or Infinity. - - - - Get Pressure from Gigapascals. - - If value is NaN or Infinity. - - - - Get Pressure from Hectopascals. - - If value is NaN or Infinity. - - - - Get Pressure from InchesOfMercury. - - If value is NaN or Infinity. - - - - Get Pressure from InchesOfWaterColumn. - - If value is NaN or Infinity. - - - - Get Pressure from Kilobars. - - If value is NaN or Infinity. - - - - Get Pressure from KilogramsForcePerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Pressure from KilogramsForcePerSquareMeter. - - If value is NaN or Infinity. - - - - Get Pressure from KilogramsForcePerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get Pressure from KilonewtonsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Pressure from KilonewtonsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Pressure from KilonewtonsPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get Pressure from Kilopascals. - - If value is NaN or Infinity. - - - - Get Pressure from KilopoundsForcePerSquareFoot. - - If value is NaN or Infinity. - - - - Get Pressure from KilopoundsForcePerSquareInch. - - If value is NaN or Infinity. - - - - Get Pressure from Megabars. - - If value is NaN or Infinity. - - - - Get Pressure from MeganewtonsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Pressure from Megapascals. - - If value is NaN or Infinity. - - - - Get Pressure from MetersOfElevation. - - If value is NaN or Infinity. - - - - Get Pressure from MetersOfHead. - - If value is NaN or Infinity. - - - - Get Pressure from Microbars. - - If value is NaN or Infinity. - - - - Get Pressure from Micropascals. - - If value is NaN or Infinity. - - - - Get Pressure from Millibars. - - If value is NaN or Infinity. - - - - Get Pressure from MillimetersOfMercury. - - If value is NaN or Infinity. - - - - Get Pressure from Millipascals. - - If value is NaN or Infinity. - - - - Get Pressure from NewtonsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Pressure from NewtonsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Pressure from NewtonsPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get Pressure from Pascals. - - If value is NaN or Infinity. - - - - Get Pressure from PoundsForcePerSquareFoot. - - If value is NaN or Infinity. - - - - Get Pressure from PoundsForcePerSquareInch. - - If value is NaN or Infinity. - - - - Get Pressure from PoundsPerInchSecondSquared. - - If value is NaN or Infinity. - - - - Get Pressure from TechnicalAtmospheres. - - If value is NaN or Infinity. - - - - Get Pressure from TonnesForcePerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Pressure from TonnesForcePerSquareMeter. - - If value is NaN or Infinity. - - - - Get Pressure from TonnesForcePerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get Pressure from Torrs. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Pressure unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Pressure within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Pressure. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Pressure to another Pressure with the unit representation . - - A Pressure with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Rotational speed (sometimes called speed of revolution) is the number of complete rotations, revolutions, cycles, or turns per time unit. Rotational speed is a cyclic frequency, measured in radians per second or in hertz in the SI System by scientists, or in revolutions per minute (rpm or min-1) or revolutions per second in everyday life. The symbol for rotational speed is ω (the Greek lowercase letter "omega"). - - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of RotationalSpeed, which is RadianPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of RotationalSpeed - - - - - Represents the smallest possible value of RotationalSpeed - - - - - The of this quantity. - - - - - All units of measurement for the RotationalSpeed quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit RadianPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get RotationalSpeed in CentiradiansPerSecond. - - - - - Get RotationalSpeed in DeciradiansPerSecond. - - - - - Get RotationalSpeed in DegreesPerMinute. - - - - - Get RotationalSpeed in DegreesPerSecond. - - - - - Get RotationalSpeed in MicrodegreesPerSecond. - - - - - Get RotationalSpeed in MicroradiansPerSecond. - - - - - Get RotationalSpeed in MillidegreesPerSecond. - - - - - Get RotationalSpeed in MilliradiansPerSecond. - - - - - Get RotationalSpeed in NanodegreesPerSecond. - - - - - Get RotationalSpeed in NanoradiansPerSecond. - - - - - Get RotationalSpeed in RadiansPerSecond. - - - - - Get RotationalSpeed in RevolutionsPerMinute. - - - - - Get RotationalSpeed in RevolutionsPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get RotationalSpeed from CentiradiansPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from DeciradiansPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from DegreesPerMinute. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from DegreesPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from MicrodegreesPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from MicroradiansPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from MillidegreesPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from MilliradiansPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from NanodegreesPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from NanoradiansPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from RadiansPerSecond. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from RevolutionsPerMinute. - - If value is NaN or Infinity. - - - - Get RotationalSpeed from RevolutionsPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - RotationalSpeed unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another RotationalSpeed within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current RotationalSpeed. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this RotationalSpeed to another RotationalSpeed with the unit representation . - - A RotationalSpeed with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - https://en.wikipedia.org/wiki/Stiffness#Rotational_stiffness - - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of RotationalStiffness, which is NewtonMeterPerRadian. All conversions go via this value. - - - - - Represents the largest possible value of RotationalStiffness - - - - - Represents the smallest possible value of RotationalStiffness - - - - - The of this quantity. - - - - - All units of measurement for the RotationalStiffness quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonMeterPerRadian. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get RotationalStiffness in CentinewtonMetersPerDegree. - - - - - Get RotationalStiffness in CentinewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in CentinewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in DecanewtonMetersPerDegree. - - - - - Get RotationalStiffness in DecanewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in DecanewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in DecinewtonMetersPerDegree. - - - - - Get RotationalStiffness in DecinewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in DecinewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in KilonewtonMetersPerDegree. - - - - - Get RotationalStiffness in KilonewtonMetersPerRadian. - - - - - Get RotationalStiffness in KilonewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in KilonewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in KilopoundForceFeetPerDegrees. - - - - - Get RotationalStiffness in MeganewtonMetersPerDegree. - - - - - Get RotationalStiffness in MeganewtonMetersPerRadian. - - - - - Get RotationalStiffness in MeganewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in MeganewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in MicronewtonMetersPerDegree. - - - - - Get RotationalStiffness in MicronewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in MicronewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in MillinewtonMetersPerDegree. - - - - - Get RotationalStiffness in MillinewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in MillinewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in NanonewtonMetersPerDegree. - - - - - Get RotationalStiffness in NanonewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in NanonewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in NewtonMetersPerDegree. - - - - - Get RotationalStiffness in NewtonMetersPerRadian. - - - - - Get RotationalStiffness in NewtonMillimetersPerDegree. - - - - - Get RotationalStiffness in NewtonMillimetersPerRadian. - - - - - Get RotationalStiffness in PoundForceFeetPerRadian. - - - - - Get RotationalStiffness in PoundForceFeetPerDegrees. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get RotationalStiffness from CentinewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from CentinewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from CentinewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from DecanewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from DecanewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from DecanewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from DecinewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from DecinewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from DecinewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from KilonewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from KilonewtonMetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from KilonewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from KilonewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from KilopoundForceFeetPerDegrees. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MeganewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MeganewtonMetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MeganewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MeganewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MicronewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MicronewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MicronewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MillinewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MillinewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from MillinewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NanonewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NanonewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NanonewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NewtonMetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NewtonMetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NewtonMillimetersPerDegree. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from NewtonMillimetersPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from PoundForceFeetPerRadian. - - If value is NaN or Infinity. - - - - Get RotationalStiffness from PoundForceFeetPerDegrees. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - RotationalStiffness unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another RotationalStiffness within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current RotationalStiffness. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this RotationalStiffness to another RotationalStiffness with the unit representation . - - A RotationalStiffness with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - https://en.wikipedia.org/wiki/Stiffness#Rotational_stiffness - - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of RotationalStiffnessPerLength, which is NewtonMeterPerRadianPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of RotationalStiffnessPerLength - - - - - Represents the smallest possible value of RotationalStiffnessPerLength - - - - - The of this quantity. - - - - - All units of measurement for the RotationalStiffnessPerLength quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonMeterPerRadianPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get RotationalStiffnessPerLength in KilonewtonMetersPerRadianPerMeter. - - - - - Get RotationalStiffnessPerLength in KilopoundForceFeetPerDegreesPerFeet. - - - - - Get RotationalStiffnessPerLength in MeganewtonMetersPerRadianPerMeter. - - - - - Get RotationalStiffnessPerLength in NewtonMetersPerRadianPerMeter. - - - - - Get RotationalStiffnessPerLength in PoundForceFeetPerDegreesPerFeet. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get RotationalStiffnessPerLength from KilonewtonMetersPerRadianPerMeter. - - If value is NaN or Infinity. - - - - Get RotationalStiffnessPerLength from KilopoundForceFeetPerDegreesPerFeet. - - If value is NaN or Infinity. - - - - Get RotationalStiffnessPerLength from MeganewtonMetersPerRadianPerMeter. - - If value is NaN or Infinity. - - - - Get RotationalStiffnessPerLength from NewtonMetersPerRadianPerMeter. - - If value is NaN or Infinity. - - - - Get RotationalStiffnessPerLength from PoundForceFeetPerDegreesPerFeet. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - RotationalStiffnessPerLength unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another RotationalStiffnessPerLength within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current RotationalStiffnessPerLength. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this RotationalStiffnessPerLength to another RotationalStiffnessPerLength with the unit representation . - - A RotationalStiffnessPerLength with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The SpecificEnergy - - - https://en.wikipedia.org/wiki/Specific_energy - - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of SpecificEnergy, which is JoulePerKilogram. All conversions go via this value. - - - - - Represents the largest possible value of SpecificEnergy - - - - - Represents the smallest possible value of SpecificEnergy - - - - - The of this quantity. - - - - - All units of measurement for the SpecificEnergy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit JoulePerKilogram. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get SpecificEnergy in BtuPerPound. - - - - - Get SpecificEnergy in CaloriesPerGram. - - - - - Get SpecificEnergy in GigawattDaysPerKilogram. - - - - - Get SpecificEnergy in GigawattDaysPerShortTon. - - - - - Get SpecificEnergy in GigawattDaysPerTonne. - - - - - Get SpecificEnergy in GigawattHoursPerKilogram. - - - - - Get SpecificEnergy in JoulesPerKilogram. - - - - - Get SpecificEnergy in KilocaloriesPerGram. - - - - - Get SpecificEnergy in KilojoulesPerKilogram. - - - - - Get SpecificEnergy in KilowattDaysPerKilogram. - - - - - Get SpecificEnergy in KilowattDaysPerShortTon. - - - - - Get SpecificEnergy in KilowattDaysPerTonne. - - - - - Get SpecificEnergy in KilowattHoursPerKilogram. - - - - - Get SpecificEnergy in MegajoulesPerKilogram. - - - - - Get SpecificEnergy in MegawattDaysPerKilogram. - - - - - Get SpecificEnergy in MegawattDaysPerShortTon. - - - - - Get SpecificEnergy in MegawattDaysPerTonne. - - - - - Get SpecificEnergy in MegawattHoursPerKilogram. - - - - - Get SpecificEnergy in TerawattDaysPerKilogram. - - - - - Get SpecificEnergy in TerawattDaysPerShortTon. - - - - - Get SpecificEnergy in TerawattDaysPerTonne. - - - - - Get SpecificEnergy in WattDaysPerKilogram. - - - - - Get SpecificEnergy in WattDaysPerShortTon. - - - - - Get SpecificEnergy in WattDaysPerTonne. - - - - - Get SpecificEnergy in WattHoursPerKilogram. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get SpecificEnergy from BtuPerPound. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from CaloriesPerGram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from GigawattDaysPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from GigawattDaysPerShortTon. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from GigawattDaysPerTonne. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from GigawattHoursPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from JoulesPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from KilocaloriesPerGram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from KilojoulesPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from KilowattDaysPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from KilowattDaysPerShortTon. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from KilowattDaysPerTonne. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from KilowattHoursPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from MegajoulesPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from MegawattDaysPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from MegawattDaysPerShortTon. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from MegawattDaysPerTonne. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from MegawattHoursPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from TerawattDaysPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from TerawattDaysPerShortTon. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from TerawattDaysPerTonne. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from WattDaysPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from WattDaysPerShortTon. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from WattDaysPerTonne. - - If value is NaN or Infinity. - - - - Get SpecificEnergy from WattHoursPerKilogram. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - SpecificEnergy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another SpecificEnergy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current SpecificEnergy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this SpecificEnergy to another SpecificEnergy with the unit representation . - - A SpecificEnergy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In thermodynamics, the specific volume of a substance is the ratio of the substance's volume to its mass. It is the reciprocal of density and an intrinsic property of matter as well. - - - - Get from divided by . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of SpecificVolume, which is CubicMeterPerKilogram. All conversions go via this value. - - - - - Represents the largest possible value of SpecificVolume - - - - - Represents the smallest possible value of SpecificVolume - - - - - The of this quantity. - - - - - All units of measurement for the SpecificVolume quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit CubicMeterPerKilogram. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get SpecificVolume in CubicFeetPerPound. - - - - - Get SpecificVolume in CubicMetersPerKilogram. - - - - - Get SpecificVolume in MillicubicMetersPerKilogram. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get SpecificVolume from CubicFeetPerPound. - - If value is NaN or Infinity. - - - - Get SpecificVolume from CubicMetersPerKilogram. - - If value is NaN or Infinity. - - - - Get SpecificVolume from MillicubicMetersPerKilogram. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - SpecificVolume unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another SpecificVolume within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current SpecificVolume. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this SpecificVolume to another SpecificVolume with the unit representation . - - A SpecificVolume with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The SpecificWeight, or more precisely, the volumetric weight density, of a substance is its weight per unit volume. - - - http://en.wikipedia.org/wiki/Specificweight - - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of SpecificWeight, which is NewtonPerCubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of SpecificWeight - - - - - Represents the smallest possible value of SpecificWeight - - - - - The of this quantity. - - - - - All units of measurement for the SpecificWeight quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonPerCubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get SpecificWeight in KilogramsForcePerCubicCentimeter. - - - - - Get SpecificWeight in KilogramsForcePerCubicMeter. - - - - - Get SpecificWeight in KilogramsForcePerCubicMillimeter. - - - - - Get SpecificWeight in KilonewtonsPerCubicCentimeter. - - - - - Get SpecificWeight in KilonewtonsPerCubicMeter. - - - - - Get SpecificWeight in KilonewtonsPerCubicMillimeter. - - - - - Get SpecificWeight in KilopoundsForcePerCubicFoot. - - - - - Get SpecificWeight in KilopoundsForcePerCubicInch. - - - - - Get SpecificWeight in MeganewtonsPerCubicMeter. - - - - - Get SpecificWeight in NewtonsPerCubicCentimeter. - - - - - Get SpecificWeight in NewtonsPerCubicMeter. - - - - - Get SpecificWeight in NewtonsPerCubicMillimeter. - - - - - Get SpecificWeight in PoundsForcePerCubicFoot. - - - - - Get SpecificWeight in PoundsForcePerCubicInch. - - - - - Get SpecificWeight in TonnesForcePerCubicCentimeter. - - - - - Get SpecificWeight in TonnesForcePerCubicMeter. - - - - - Get SpecificWeight in TonnesForcePerCubicMillimeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get SpecificWeight from KilogramsForcePerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilogramsForcePerCubicMeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilogramsForcePerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilonewtonsPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilonewtonsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilonewtonsPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilopoundsForcePerCubicFoot. - - If value is NaN or Infinity. - - - - Get SpecificWeight from KilopoundsForcePerCubicInch. - - If value is NaN or Infinity. - - - - Get SpecificWeight from MeganewtonsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from NewtonsPerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from NewtonsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from NewtonsPerCubicMillimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from PoundsForcePerCubicFoot. - - If value is NaN or Infinity. - - - - Get SpecificWeight from PoundsForcePerCubicInch. - - If value is NaN or Infinity. - - - - Get SpecificWeight from TonnesForcePerCubicCentimeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from TonnesForcePerCubicMeter. - - If value is NaN or Infinity. - - - - Get SpecificWeight from TonnesForcePerCubicMillimeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - SpecificWeight unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another SpecificWeight within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current SpecificWeight. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this SpecificWeight to another SpecificWeight with the unit representation . - - A SpecificWeight with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In everyday use and in kinematics, the speed of an object is the magnitude of its velocity (the rate of change of its position); it is thus a scalar quantity.[1] The average speed of an object in an interval of time is the distance travelled by the object divided by the duration of the interval;[2] the instantaneous speed is the limit of the average speed as the duration of the time interval approaches zero. - - - - Get from divided by . - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Speed, which is MeterPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of Speed - - - - - Represents the smallest possible value of Speed - - - - - The of this quantity. - - - - - All units of measurement for the Speed quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit MeterPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Speed in CentimetersPerHour. - - - - - Get Speed in CentimetersPerMinutes. - - - - - Get Speed in CentimetersPerSecond. - - - - - Get Speed in DecimetersPerMinutes. - - - - - Get Speed in DecimetersPerSecond. - - - - - Get Speed in FeetPerHour. - - - - - Get Speed in FeetPerMinute. - - - - - Get Speed in FeetPerSecond. - - - - - Get Speed in InchesPerHour. - - - - - Get Speed in InchesPerMinute. - - - - - Get Speed in InchesPerSecond. - - - - - Get Speed in KilometersPerHour. - - - - - Get Speed in KilometersPerMinutes. - - - - - Get Speed in KilometersPerSecond. - - - - - Get Speed in Knots. - - - - - Get Speed in MetersPerHour. - - - - - Get Speed in MetersPerMinutes. - - - - - Get Speed in MetersPerSecond. - - - - - Get Speed in MicrometersPerMinutes. - - - - - Get Speed in MicrometersPerSecond. - - - - - Get Speed in MilesPerHour. - - - - - Get Speed in MillimetersPerHour. - - - - - Get Speed in MillimetersPerMinutes. - - - - - Get Speed in MillimetersPerSecond. - - - - - Get Speed in NanometersPerMinutes. - - - - - Get Speed in NanometersPerSecond. - - - - - Get Speed in UsSurveyFeetPerHour. - - - - - Get Speed in UsSurveyFeetPerMinute. - - - - - Get Speed in UsSurveyFeetPerSecond. - - - - - Get Speed in YardsPerHour. - - - - - Get Speed in YardsPerMinute. - - - - - Get Speed in YardsPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Speed from CentimetersPerHour. - - If value is NaN or Infinity. - - - - Get Speed from CentimetersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from CentimetersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from DecimetersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from DecimetersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from FeetPerHour. - - If value is NaN or Infinity. - - - - Get Speed from FeetPerMinute. - - If value is NaN or Infinity. - - - - Get Speed from FeetPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from InchesPerHour. - - If value is NaN or Infinity. - - - - Get Speed from InchesPerMinute. - - If value is NaN or Infinity. - - - - Get Speed from InchesPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from KilometersPerHour. - - If value is NaN or Infinity. - - - - Get Speed from KilometersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from KilometersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from Knots. - - If value is NaN or Infinity. - - - - Get Speed from MetersPerHour. - - If value is NaN or Infinity. - - - - Get Speed from MetersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from MetersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from MicrometersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from MicrometersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from MilesPerHour. - - If value is NaN or Infinity. - - - - Get Speed from MillimetersPerHour. - - If value is NaN or Infinity. - - - - Get Speed from MillimetersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from MillimetersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from NanometersPerMinutes. - - If value is NaN or Infinity. - - - - Get Speed from NanometersPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from UsSurveyFeetPerHour. - - If value is NaN or Infinity. - - - - Get Speed from UsSurveyFeetPerMinute. - - If value is NaN or Infinity. - - - - Get Speed from UsSurveyFeetPerSecond. - - If value is NaN or Infinity. - - - - Get Speed from YardsPerHour. - - If value is NaN or Infinity. - - - - Get Speed from YardsPerMinute. - - If value is NaN or Infinity. - - - - Get Speed from YardsPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Speed unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Speed within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Speed. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Speed to another Speed with the unit representation . - - A Speed with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A temperature is a numerical measure of hot or cold. Its measurement is by detection of heat radiation or particle velocity or kinetic energy, or by the bulk behavior of a thermometric material. It may be calibrated in any of various temperature scales, Celsius, Fahrenheit, Kelvin, etc. The fundamental physical definition of temperature is provided by thermodynamics. - - - - - Add a and a . - - Due to temperature units having different scales, the arithmetic must be performed on the same scale. - The new temperature. - - - - Add a and a . - - Due to temperature units having different scales, the arithmetic must be performed on the same scale. - The new temperature. - - - - Subtract a by a . - - Due to temperature units having different scales, the arithmetic must be performed on the same scale. - The new temperature. - - - - Subtract a by a . - - Due to temperature units having different scales, the arithmetic must be performed on the same scale. - The delta temperature (difference). - - - - Multiply temperature with a in a given . - - - Due to different temperature units having different zero points, we cannot simply - multiply or divide a temperature by a factor. We must first convert to the desired unit, then perform the - calculation. - - Factor to multiply by. - Unit to perform multiplication in. - The resulting . - - - - Divide temperature by a in a given . - - - Due to different temperature units having different zero points, we cannot simply - multiply or divide a temperature by a factor. We must first convert to the desired unit, then perform the - calculation. - - Factor to multiply by. - Unit to perform multiplication in. - The resulting . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Temperature, which is Kelvin. All conversions go via this value. - - - - - Represents the largest possible value of Temperature - - - - - Represents the smallest possible value of Temperature - - - - - The of this quantity. - - - - - All units of measurement for the Temperature quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Kelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Temperature in DegreesCelsius. - - - - - Get Temperature in DegreesDelisle. - - - - - Get Temperature in DegreesFahrenheit. - - - - - Get Temperature in DegreesNewton. - - - - - Get Temperature in DegreesRankine. - - - - - Get Temperature in DegreesReaumur. - - - - - Get Temperature in DegreesRoemer. - - - - - Get Temperature in Kelvins. - - - - - Get Temperature in MillidegreesCelsius. - - - - - Get Temperature in SolarTemperatures. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Temperature from DegreesCelsius. - - If value is NaN or Infinity. - - - - Get Temperature from DegreesDelisle. - - If value is NaN or Infinity. - - - - Get Temperature from DegreesFahrenheit. - - If value is NaN or Infinity. - - - - Get Temperature from DegreesNewton. - - If value is NaN or Infinity. - - - - Get Temperature from DegreesRankine. - - If value is NaN or Infinity. - - - - Get Temperature from DegreesReaumur. - - If value is NaN or Infinity. - - - - Get Temperature from DegreesRoemer. - - If value is NaN or Infinity. - - - - Get Temperature from Kelvins. - - If value is NaN or Infinity. - - - - Get Temperature from MillidegreesCelsius. - - If value is NaN or Infinity. - - - - Get Temperature from SolarTemperatures. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Temperature unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Temperature within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Temperature. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Temperature to another Temperature with the unit representation . - - A Temperature with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Difference between two temperatures. The conversions are different than for Temperature. - - - - Get from divided by . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of TemperatureDelta, which is Kelvin. All conversions go via this value. - - - - - Represents the largest possible value of TemperatureDelta - - - - - Represents the smallest possible value of TemperatureDelta - - - - - The of this quantity. - - - - - All units of measurement for the TemperatureDelta quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Kelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get TemperatureDelta in DegreesCelsius. - - - - - Get TemperatureDelta in DegreesDelisle. - - - - - Get TemperatureDelta in DegreesFahrenheit. - - - - - Get TemperatureDelta in DegreesNewton. - - - - - Get TemperatureDelta in DegreesRankine. - - - - - Get TemperatureDelta in DegreesReaumur. - - - - - Get TemperatureDelta in DegreesRoemer. - - - - - Get TemperatureDelta in Kelvins. - - - - - Get TemperatureDelta in MillidegreesCelsius. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get TemperatureDelta from DegreesCelsius. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from DegreesDelisle. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from DegreesFahrenheit. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from DegreesNewton. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from DegreesRankine. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from DegreesReaumur. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from DegreesRoemer. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from Kelvins. - - If value is NaN or Infinity. - - - - Get TemperatureDelta from MillidegreesCelsius. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - TemperatureDelta unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another TemperatureDelta within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current TemperatureDelta. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this TemperatureDelta to another TemperatureDelta with the unit representation . - - A TemperatureDelta with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Torque, moment or moment of force (see the terminology below), is the tendency of a force to rotate an object about an axis,[1] fulcrum, or pivot. Just as a force is a push or a pull, a torque can be thought of as a twist to an object. Mathematically, torque is defined as the cross product of the lever-arm distance and force, which tends to produce rotation. Loosely speaking, torque is a measure of the turning force on an object such as a bolt or a flywheel. For example, pushing or pulling the handle of a wrench connected to a nut or bolt produces a torque (turning force) that loosens or tightens the nut or bolt. - - - - Get from times . - - - Get from times . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Torque, which is NewtonMeter. All conversions go via this value. - - - - - Represents the largest possible value of Torque - - - - - Represents the smallest possible value of Torque - - - - - The of this quantity. - - - - - All units of measurement for the Torque quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Torque in KilogramForceCentimeters. - - - - - Get Torque in KilogramForceMeters. - - - - - Get Torque in KilogramForceMillimeters. - - - - - Get Torque in KilonewtonCentimeters. - - - - - Get Torque in KilonewtonMeters. - - - - - Get Torque in KilonewtonMillimeters. - - - - - Get Torque in KilopoundForceFeet. - - - - - Get Torque in KilopoundForceInches. - - - - - Get Torque in MeganewtonCentimeters. - - - - - Get Torque in MeganewtonMeters. - - - - - Get Torque in MeganewtonMillimeters. - - - - - Get Torque in MegapoundForceFeet. - - - - - Get Torque in MegapoundForceInches. - - - - - Get Torque in NewtonCentimeters. - - - - - Get Torque in NewtonMeters. - - - - - Get Torque in NewtonMillimeters. - - - - - Get Torque in PoundalFeet. - - - - - Get Torque in PoundForceFeet. - - - - - Get Torque in PoundForceInches. - - - - - Get Torque in TonneForceCentimeters. - - - - - Get Torque in TonneForceMeters. - - - - - Get Torque in TonneForceMillimeters. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Torque from KilogramForceCentimeters. - - If value is NaN or Infinity. - - - - Get Torque from KilogramForceMeters. - - If value is NaN or Infinity. - - - - Get Torque from KilogramForceMillimeters. - - If value is NaN or Infinity. - - - - Get Torque from KilonewtonCentimeters. - - If value is NaN or Infinity. - - - - Get Torque from KilonewtonMeters. - - If value is NaN or Infinity. - - - - Get Torque from KilonewtonMillimeters. - - If value is NaN or Infinity. - - - - Get Torque from KilopoundForceFeet. - - If value is NaN or Infinity. - - - - Get Torque from KilopoundForceInches. - - If value is NaN or Infinity. - - - - Get Torque from MeganewtonCentimeters. - - If value is NaN or Infinity. - - - - Get Torque from MeganewtonMeters. - - If value is NaN or Infinity. - - - - Get Torque from MeganewtonMillimeters. - - If value is NaN or Infinity. - - - - Get Torque from MegapoundForceFeet. - - If value is NaN or Infinity. - - - - Get Torque from MegapoundForceInches. - - If value is NaN or Infinity. - - - - Get Torque from NewtonCentimeters. - - If value is NaN or Infinity. - - - - Get Torque from NewtonMeters. - - If value is NaN or Infinity. - - - - Get Torque from NewtonMillimeters. - - If value is NaN or Infinity. - - - - Get Torque from PoundalFeet. - - If value is NaN or Infinity. - - - - Get Torque from PoundForceFeet. - - If value is NaN or Infinity. - - - - Get Torque from PoundForceInches. - - If value is NaN or Infinity. - - - - Get Torque from TonneForceCentimeters. - - If value is NaN or Infinity. - - - - Get Torque from TonneForceMeters. - - If value is NaN or Infinity. - - - - Get Torque from TonneForceMillimeters. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Torque unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Torque within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Torque. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Torque to another Torque with the unit representation . - - A Torque with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Volume is the quantity of three-dimensional space enclosed by some closed boundary, for example, the space that a substance (solid, liquid, gas, or plasma) or shape occupies or contains.[1] Volume is often quantified numerically using the SI derived unit, the cubic metre. The volume of a container is generally understood to be the capacity of the container, i. e. the amount of fluid (gas or liquid) that the container could hold, rather than the amount of space the container itself displaces. - - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - Get from divided by . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Volume, which is CubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of Volume - - - - - Represents the smallest possible value of Volume - - - - - The of this quantity. - - - - - All units of measurement for the Volume quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit CubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Volume in AcreFeet. - - - - - Get Volume in AuTablespoons. - - - - - Get Volume in BoardFeet. - - - - - Get Volume in Centiliters. - - - - - Get Volume in CubicCentimeters. - - - - - Get Volume in CubicDecimeters. - - - - - Get Volume in CubicFeet. - - - - - Get Volume in CubicHectometers. - - - - - Get Volume in CubicInches. - - - - - Get Volume in CubicKilometers. - - - - - Get Volume in CubicMeters. - - - - - Get Volume in CubicMicrometers. - - - - - Get Volume in CubicMiles. - - - - - Get Volume in CubicMillimeters. - - - - - Get Volume in CubicYards. - - - - - Get Volume in DecausGallons. - - - - - Get Volume in Deciliters. - - - - - Get Volume in DeciusGallons. - - - - - Get Volume in HectocubicFeet. - - - - - Get Volume in HectocubicMeters. - - - - - Get Volume in Hectoliters. - - - - - Get Volume in HectousGallons. - - - - - Get Volume in ImperialBeerBarrels. - - - - - Get Volume in ImperialGallons. - - - - - Get Volume in ImperialOunces. - - - - - Get Volume in ImperialPints. - - - - - Get Volume in KilocubicFeet. - - - - - Get Volume in KilocubicMeters. - - - - - Get Volume in KiloimperialGallons. - - - - - Get Volume in Kiloliters. - - - - - Get Volume in KilousGallons. - - - - - Get Volume in Liters. - - - - - Get Volume in MegacubicFeet. - - - - - Get Volume in MegaimperialGallons. - - - - - Get Volume in Megaliters. - - - - - Get Volume in MegausGallons. - - - - - Get Volume in MetricCups. - - - - - Get Volume in MetricTeaspoons. - - - - - Get Volume in Microliters. - - - - - Get Volume in Milliliters. - - - - - Get Volume in OilBarrels. - - - - - Get Volume in UkTablespoons. - - - - - Get Volume in UsBeerBarrels. - - - - - Get Volume in UsCustomaryCups. - - - - - Get Volume in UsGallons. - - - - - Get Volume in UsLegalCups. - - - - - Get Volume in UsOunces. - - - - - Get Volume in UsPints. - - - - - Get Volume in UsQuarts. - - - - - Get Volume in UsTablespoons. - - - - - Get Volume in UsTeaspoons. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Volume from AcreFeet. - - If value is NaN or Infinity. - - - - Get Volume from AuTablespoons. - - If value is NaN or Infinity. - - - - Get Volume from BoardFeet. - - If value is NaN or Infinity. - - - - Get Volume from Centiliters. - - If value is NaN or Infinity. - - - - Get Volume from CubicCentimeters. - - If value is NaN or Infinity. - - - - Get Volume from CubicDecimeters. - - If value is NaN or Infinity. - - - - Get Volume from CubicFeet. - - If value is NaN or Infinity. - - - - Get Volume from CubicHectometers. - - If value is NaN or Infinity. - - - - Get Volume from CubicInches. - - If value is NaN or Infinity. - - - - Get Volume from CubicKilometers. - - If value is NaN or Infinity. - - - - Get Volume from CubicMeters. - - If value is NaN or Infinity. - - - - Get Volume from CubicMicrometers. - - If value is NaN or Infinity. - - - - Get Volume from CubicMiles. - - If value is NaN or Infinity. - - - - Get Volume from CubicMillimeters. - - If value is NaN or Infinity. - - - - Get Volume from CubicYards. - - If value is NaN or Infinity. - - - - Get Volume from DecausGallons. - - If value is NaN or Infinity. - - - - Get Volume from Deciliters. - - If value is NaN or Infinity. - - - - Get Volume from DeciusGallons. - - If value is NaN or Infinity. - - - - Get Volume from HectocubicFeet. - - If value is NaN or Infinity. - - - - Get Volume from HectocubicMeters. - - If value is NaN or Infinity. - - - - Get Volume from Hectoliters. - - If value is NaN or Infinity. - - - - Get Volume from HectousGallons. - - If value is NaN or Infinity. - - - - Get Volume from ImperialBeerBarrels. - - If value is NaN or Infinity. - - - - Get Volume from ImperialGallons. - - If value is NaN or Infinity. - - - - Get Volume from ImperialOunces. - - If value is NaN or Infinity. - - - - Get Volume from ImperialPints. - - If value is NaN or Infinity. - - - - Get Volume from KilocubicFeet. - - If value is NaN or Infinity. - - - - Get Volume from KilocubicMeters. - - If value is NaN or Infinity. - - - - Get Volume from KiloimperialGallons. - - If value is NaN or Infinity. - - - - Get Volume from Kiloliters. - - If value is NaN or Infinity. - - - - Get Volume from KilousGallons. - - If value is NaN or Infinity. - - - - Get Volume from Liters. - - If value is NaN or Infinity. - - - - Get Volume from MegacubicFeet. - - If value is NaN or Infinity. - - - - Get Volume from MegaimperialGallons. - - If value is NaN or Infinity. - - - - Get Volume from Megaliters. - - If value is NaN or Infinity. - - - - Get Volume from MegausGallons. - - If value is NaN or Infinity. - - - - Get Volume from MetricCups. - - If value is NaN or Infinity. - - - - Get Volume from MetricTeaspoons. - - If value is NaN or Infinity. - - - - Get Volume from Microliters. - - If value is NaN or Infinity. - - - - Get Volume from Milliliters. - - If value is NaN or Infinity. - - - - Get Volume from OilBarrels. - - If value is NaN or Infinity. - - - - Get Volume from UkTablespoons. - - If value is NaN or Infinity. - - - - Get Volume from UsBeerBarrels. - - If value is NaN or Infinity. - - - - Get Volume from UsCustomaryCups. - - If value is NaN or Infinity. - - - - Get Volume from UsGallons. - - If value is NaN or Infinity. - - - - Get Volume from UsLegalCups. - - If value is NaN or Infinity. - - - - Get Volume from UsOunces. - - If value is NaN or Infinity. - - - - Get Volume from UsPints. - - If value is NaN or Infinity. - - - - Get Volume from UsQuarts. - - If value is NaN or Infinity. - - - - Get Volume from UsTablespoons. - - If value is NaN or Infinity. - - - - Get Volume from UsTeaspoons. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Volume unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Volume within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Volume. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Volume to another Volume with the unit representation . - - A Volume with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The volume concentration (not to be confused with volume fraction) is defined as the volume of a constituent divided by the total volume of the mixture. - - - https://en.wikipedia.org/wiki/Concentration#Volume_concentration - - - - - Get from this and component . - - - - - - - Get from this and component and . - - - - - - - - Get from a component and total mixture . - - - - - Get a from and a component and . - - - - - - - Get from times the component . - - - Get from times the component . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of VolumeConcentration, which is DecimalFraction. All conversions go via this value. - - - - - Represents the largest possible value of VolumeConcentration - - - - - Represents the smallest possible value of VolumeConcentration - - - - - The of this quantity. - - - - - All units of measurement for the VolumeConcentration quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DecimalFraction. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get VolumeConcentration in CentilitersPerLiter. - - - - - Get VolumeConcentration in CentilitersPerMililiter. - - - - - Get VolumeConcentration in DecilitersPerLiter. - - - - - Get VolumeConcentration in DecilitersPerMililiter. - - - - - Get VolumeConcentration in DecimalFractions. - - - - - Get VolumeConcentration in LitersPerLiter. - - - - - Get VolumeConcentration in LitersPerMililiter. - - - - - Get VolumeConcentration in MicrolitersPerLiter. - - - - - Get VolumeConcentration in MicrolitersPerMililiter. - - - - - Get VolumeConcentration in MillilitersPerLiter. - - - - - Get VolumeConcentration in MillilitersPerMililiter. - - - - - Get VolumeConcentration in NanolitersPerLiter. - - - - - Get VolumeConcentration in NanolitersPerMililiter. - - - - - Get VolumeConcentration in PartsPerBillion. - - - - - Get VolumeConcentration in PartsPerMillion. - - - - - Get VolumeConcentration in PartsPerThousand. - - - - - Get VolumeConcentration in PartsPerTrillion. - - - - - Get VolumeConcentration in Percent. - - - - - Get VolumeConcentration in PicolitersPerLiter. - - - - - Get VolumeConcentration in PicolitersPerMililiter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get VolumeConcentration from CentilitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from CentilitersPerMililiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from DecilitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from DecilitersPerMililiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from DecimalFractions. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from LitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from LitersPerMililiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from MicrolitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from MicrolitersPerMililiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from MillilitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from MillilitersPerMililiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from NanolitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from NanolitersPerMililiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from PartsPerBillion. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from PartsPerMillion. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from PartsPerThousand. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from PartsPerTrillion. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from Percent. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from PicolitersPerLiter. - - If value is NaN or Infinity. - - - - Get VolumeConcentration from PicolitersPerMililiter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - VolumeConcentration unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another VolumeConcentration within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current VolumeConcentration. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this VolumeConcentration to another VolumeConcentration with the unit representation . - - A VolumeConcentration with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In physics and engineering, in particular fluid dynamics and hydrometry, the volumetric flow rate, (also known as volume flow rate, rate of fluid flow or volume velocity) is the volume of fluid which passes through a given surface per unit time. The SI unit is m³/s (cubic meters per second). In US Customary Units and British Imperial Units, volumetric flow rate is often expressed as ft³/s (cubic feet per second). It is usually represented by the symbol Q. - - - - Get from times . - - - Get from times . - - - Get from divided by . - - - Get from divided by . - - - Get from times . - - - Get from times . - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of VolumeFlow, which is CubicMeterPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of VolumeFlow - - - - - Represents the smallest possible value of VolumeFlow - - - - - The of this quantity. - - - - - All units of measurement for the VolumeFlow quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit CubicMeterPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get VolumeFlow in AcreFeetPerDay. - - - - - Get VolumeFlow in AcreFeetPerHour. - - - - - Get VolumeFlow in AcreFeetPerMinute. - - - - - Get VolumeFlow in AcreFeetPerSecond. - - - - - Get VolumeFlow in CentilitersPerDay. - - - - - Get VolumeFlow in CentilitersPerMinute. - - - - - Get VolumeFlow in CentilitersPerSecond. - - - - - Get VolumeFlow in CubicCentimetersPerMinute. - - - - - Get VolumeFlow in CubicDecimetersPerMinute. - - - - - Get VolumeFlow in CubicFeetPerHour. - - - - - Get VolumeFlow in CubicFeetPerMinute. - - - - - Get VolumeFlow in CubicFeetPerSecond. - - - - - Get VolumeFlow in CubicMetersPerDay. - - - - - Get VolumeFlow in CubicMetersPerHour. - - - - - Get VolumeFlow in CubicMetersPerMinute. - - - - - Get VolumeFlow in CubicMetersPerSecond. - - - - - Get VolumeFlow in CubicMillimetersPerSecond. - - - - - Get VolumeFlow in CubicYardsPerDay. - - - - - Get VolumeFlow in CubicYardsPerHour. - - - - - Get VolumeFlow in CubicYardsPerMinute. - - - - - Get VolumeFlow in CubicYardsPerSecond. - - - - - Get VolumeFlow in DecilitersPerDay. - - - - - Get VolumeFlow in DecilitersPerMinute. - - - - - Get VolumeFlow in DecilitersPerSecond. - - - - - Get VolumeFlow in KilolitersPerDay. - - - - - Get VolumeFlow in KilolitersPerMinute. - - - - - Get VolumeFlow in KilolitersPerSecond. - - - - - Get VolumeFlow in KilousGallonsPerMinute. - - - - - Get VolumeFlow in LitersPerDay. - - - - - Get VolumeFlow in LitersPerHour. - - - - - Get VolumeFlow in LitersPerMinute. - - - - - Get VolumeFlow in LitersPerSecond. - - - - - Get VolumeFlow in MegalitersPerDay. - - - - - Get VolumeFlow in MegaukGallonsPerSecond. - - - - - Get VolumeFlow in MicrolitersPerDay. - - - - - Get VolumeFlow in MicrolitersPerMinute. - - - - - Get VolumeFlow in MicrolitersPerSecond. - - - - - Get VolumeFlow in MillilitersPerDay. - - - - - Get VolumeFlow in MillilitersPerMinute. - - - - - Get VolumeFlow in MillilitersPerSecond. - - - - - Get VolumeFlow in MillionUsGallonsPerDay. - - - - - Get VolumeFlow in NanolitersPerDay. - - - - - Get VolumeFlow in NanolitersPerMinute. - - - - - Get VolumeFlow in NanolitersPerSecond. - - - - - Get VolumeFlow in OilBarrelsPerDay. - - - - - Get VolumeFlow in OilBarrelsPerHour. - - - - - Get VolumeFlow in OilBarrelsPerMinute. - - - - - Get VolumeFlow in OilBarrelsPerSecond. - - - - - Get VolumeFlow in UkGallonsPerDay. - - - - - Get VolumeFlow in UkGallonsPerHour. - - - - - Get VolumeFlow in UkGallonsPerMinute. - - - - - Get VolumeFlow in UkGallonsPerSecond. - - - - - Get VolumeFlow in UsGallonsPerDay. - - - - - Get VolumeFlow in UsGallonsPerHour. - - - - - Get VolumeFlow in UsGallonsPerMinute. - - - - - Get VolumeFlow in UsGallonsPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get VolumeFlow from AcreFeetPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from AcreFeetPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from AcreFeetPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from AcreFeetPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CentilitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CentilitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CentilitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicCentimetersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicDecimetersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicFeetPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicFeetPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicFeetPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicMetersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicMetersPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicMetersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicMetersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicMillimetersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicYardsPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicYardsPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicYardsPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from CubicYardsPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from DecilitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from DecilitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from DecilitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from KilolitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from KilolitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from KilolitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from KilousGallonsPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from LitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from LitersPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from LitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from LitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MegalitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MegaukGallonsPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MicrolitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MicrolitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MicrolitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MillilitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MillilitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MillilitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from MillionUsGallonsPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from NanolitersPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from NanolitersPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from NanolitersPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from OilBarrelsPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from OilBarrelsPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from OilBarrelsPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from OilBarrelsPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UkGallonsPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UkGallonsPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UkGallonsPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UkGallonsPerSecond. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UsGallonsPerDay. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UsGallonsPerHour. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UsGallonsPerMinute. - - If value is NaN or Infinity. - - - - Get VolumeFlow from UsGallonsPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - VolumeFlow unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another VolumeFlow within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current VolumeFlow. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this VolumeFlow to another VolumeFlow with the unit representation . - - A VolumeFlow with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - Dynamically parse or construct quantities when types are only known at runtime. - - - - - All enum values of , such as and . - - - - - All enum value names of , such as "Length" and "Mass". - - - - - All quantity information objects, such as and . - - - - - Dynamically construct a quantity. - - Numeric value. - Unit enum value. - An object. - Unit value is not a know unit enum type. - - - - - - - - - - Dynamically parse a quantity string representation. - - The format provider to use for lookup. Defaults to if null. - Type of quantity, such as . - Quantity string representation, such as "1.5 kg". Must be compatible with given quantity type. - The parsed quantity. - Type must be of type UnitsNet.IQuantity -or- Type is not a known quantity type. - - - - - - - Get information about the given quantity type. - - The quantity type enum value. - Information about the quantity and its units. - - - - Get a list of quantities that has the given base dimensions. - - The base dimensions to match. - - - - All QuantityInfo instances mapped by quantity name that are present in UnitsNet by default. - - - - - Dynamically constructs a quantity of the given with the value in the quantity's base units. - - The of the quantity to create. - The value to construct the quantity with. - The created quantity. - - - - Dynamically constructs a quantity of the given with the value in the quantity's base units. - - The of the quantity to create. - The value to construct the quantity with. - The created quantity. - - - - Try to dynamically construct a quantity. - - Numeric value. - Unit enum value. - The resulting quantity if successful, otherwise default. - True if successful with assigned the value, otherwise false. - - - - Try to dynamically parse a quantity string representation. - - The format provider to use for lookup. Defaults to if null. - Type of quantity, such as . - Quantity string representation, such as "1.5 kg". Must be compatible with given quantity type. - The resulting quantity if successful, otherwise default. - The parsed quantity. - - - - Allow integer, floating point or exponential number formats. - - - - - Workaround for C# not allowing to pass on 'out' param from type Length to IQuantity, even though the are compatible. - - - - - Parse a string given a particular regular expression. - - Error parsing string. - - - - Parse a string given a particular regular expression. - - Error parsing string. - - - - Cache of the mapping between unit enum values and unit abbreviation strings for one or more cultures. - A static instance is used internally for ToString() and Parse() of quantities and units. - - - - - Fallback culture used by and - if no abbreviations are found with a given culture. - - - User wants to call or with Russian - culture, but no translation is defined, so we return the US English definition as a last resort. If it's not - defined there either, an exception is thrown. - - - - - The static instance used internally for ToString() and Parse() of quantities and units. - - - - - Create an instance of the cache and load all the abbreviations defined in the library. - - - - - Adds one or more unit abbreviation for the given unit enum value. - This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums - in order to or on them later. - - The unit enum value. - Unit abbreviations to add. - The type of unit enum. - - - - Adds a unit abbreviation for the given unit enum value and sets it as the default. - This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums - in order to or on them later. - - The unit enum value. - Unit abbreviations to add as default. - The type of unit enum. - - - - Adds one or more unit abbreviation for the given unit enum value. - This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums - in order to or on them later. - - The unit enum value. - The format provider to use for lookup. Defaults to if null. - Unit abbreviations to add. - The type of unit enum. - - - - Adds a unit abbreviation for the given unit enum value and sets it as the default. - This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums - in order to or on them later. - - The unit enum value. - The format provider to use for lookup. Defaults to if null. - Unit abbreviation to add as default. - The type of unit enum. - - - - Adds one or more unit abbreviation for the given unit enum value. - This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums - in order to or on them later. - - The unit enum type. - The unit enum value. - The format provider to use for lookup. Defaults to if null. - Unit abbreviations to add. - - - - Adds a unit abbreviation for the given unit enum value and sets it as the default. - This is used to dynamically add abbreviations for existing unit enums such as or to extend with third-party unit enums - in order to or on them later. - - The unit enum type. - The unit enum value. - The format provider to use for lookup. Defaults to if null. - Unit abbreviation to add as default. - - - - Gets the default abbreviation for a given unit. If a unit has more than one abbreviation defined, then it returns the first one. - Example: GetDefaultAbbreviation<LengthUnit>(LengthUnit.Kilometer) => "km" - - The unit enum value. - The format provider to use for lookup. Defaults to if null. - The type of unit enum. - The default unit abbreviation string. - - - - Gets the default abbreviation for a given unit type and its numeric enum value. - If a unit has more than one abbreviation defined, then it returns the first one. - Example: GetDefaultAbbreviation<LengthUnit>(typeof(LengthUnit), 1) => "cm" - - The unit enum type. - The unit enum value. - The format provider to use for lookup. Defaults to if null. - The default unit abbreviation string. - - - - Get all abbreviations for unit. - - Enum type for units. - Enum value for unit. - The format provider to use for lookup. Defaults to if null. - Unit abbreviations associated with unit. - - - - Get all abbreviations for unit. - - Enum type for unit. - Enum value for unit. - The format provider to use for lookup. Defaults to if null. - Unit abbreviations associated with unit. - - - - Get all abbreviations for all units of a quantity. - - Enum type for unit. - The format provider to use for lookup. Defaults to if null. - Unit abbreviations associated with unit. - - - - Parses units given a unit abbreviations cache. - The static instance is used internally to parse quantities and units using the - default abbreviations cache for all units and abbreviations defined in the library. - - - - - The default static instance used internally to parse quantities and units using the - default abbreviations cache for all units and abbreviations defined in the library. - - - - - Create a parser using the given unit abbreviations cache. - - - - - - Parses a unit abbreviation for a given unit enumeration type. - Example: Parse<LengthUnit>("km") => LengthUnit.Kilometer - - - The format provider to use for lookup. Defaults to if null. - - - - - - Parse a unit abbreviation, such as "kg" or "m", to the unit enum value of the enum type - . - - - Unit abbreviation, such as "kg" or "m" for and - respectively. - - Unit enum type, such as and . - The format provider to use for lookup. Defaults to if null. - Unit enum value, such as . - No units match the abbreviation. - More than one unit matches the abbreviation. - - - - Try to parse a unit abbreviation. - - The string value. - The unit enum value as out result. - Type of unit enum. - True if successful. - - - - Try to parse a unit abbreviation. - - The string value. - The format provider to use for lookup. Defaults to if null. - The unit enum value as out result. - Type of unit enum. - True if successful. - - - - Try to parse a unit abbreviation. - - The string value. - Type of unit enum. - The unit enum value as out result. - True if successful. - - - - Try to parse a unit abbreviation. - - The string value. - Type of unit enum. - The format provider to use for lookup. Defaults to if null. - The unit enum value as out result. - True if successful. - - - - Pressure tied to a real-world reference, allowing conversion between references. - - - Absolute is referenced to true vacuum. - - - Gauge references the local atmospheric pressure. - - - Vacuum is the negative of the gauge. - - - - - - - Represents the pressure at which _pressure is referenced (1 atm default) - - - - - Gets a list of options: , - , and - - - - - Initializes a new instance of the struct requiring measured - - parameter. Assumes the to , with 1 atm as - the atmospheric . - - The measured absolute - - - - Initializes a new instance of the struct requiring - measured and parameters. Assumes 1 atm as the atmospheric - . - - The measured - - The referenced for the measured - - - - - Initializes a new instance of the struct requiring - measured , , and atmospheric - parameters - - The measured - - The referenced for the measured - - The atmospheric where the measurement was taken. - - - - Gets the of the - - - - - The base reference representation of for the numeric value stored internally. All - conversions go via this value. - - - - - The at the given . - - - - - Get Gauge . - It references pressure level above Atmospheric pressure. - - - - - Get Absolute . - It is zero-referenced pressure to the perfect vacuum. - - - - - Get Vacuum . - It is a negative Gauge pressure when Absolute pressure is below Atmospheric pressure. - - - - - Converts to at - - The to convert to. - The at the specified - - - - Converts to at - - The to convert to. - The value of pressure at - - - - Converts at to at - - - The value of pressure at the - - - - - 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. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ApparentEnergy, which is VoltampereHour. All conversions go via this value. - - - - - Represents the largest possible value of ApparentEnergy - - - - - Represents the smallest possible value of ApparentEnergy - - - - - The of this quantity. - - - - - All units of measurement for the ApparentEnergy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltampereHour. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ApparentEnergy in KilovoltampereHours. - - - - - Get ApparentEnergy in MegavoltampereHours. - - - - - Get ApparentEnergy in VoltampereHours. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ApparentEnergy from KilovoltampereHours. - - If value is NaN or Infinity. - - - - Get ApparentEnergy from MegavoltampereHours. - - If value is NaN or Infinity. - - - - Get ApparentEnergy from VoltampereHours. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ApparentEnergy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ApparentEnergy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ApparentEnergy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ApparentEnergy to another ApparentEnergy with the unit representation . - - A ApparentEnergy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - 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. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ApparentPower, which is Voltampere. All conversions go via this value. - - - - - Represents the largest possible value of ApparentPower - - - - - Represents the smallest possible value of ApparentPower - - - - - The of this quantity. - - - - - All units of measurement for the ApparentPower quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Voltampere. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ApparentPower in Gigavoltamperes. - - - - - Get ApparentPower in Kilovoltamperes. - - - - - Get ApparentPower in Megavoltamperes. - - - - - Get ApparentPower in Voltamperes. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ApparentPower from Gigavoltamperes. - - If value is NaN or Infinity. - - - - Get ApparentPower from Kilovoltamperes. - - If value is NaN or Infinity. - - - - Get ApparentPower from Megavoltamperes. - - If value is NaN or Infinity. - - - - Get ApparentPower from Voltamperes. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ApparentPower unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ApparentPower within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ApparentPower. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ApparentPower to another ApparentPower with the unit representation . - - A ApparentPower with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The area density of a two-dimensional object is calculated as the mass per unit area. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of AreaDensity, which is KilogramPerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of AreaDensity - - - - - Represents the smallest possible value of AreaDensity - - - - - The of this quantity. - - - - - All units of measurement for the AreaDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get AreaDensity in KilogramsPerSquareMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get AreaDensity from KilogramsPerSquareMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - AreaDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another AreaDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current AreaDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this AreaDensity to another AreaDensity with the unit representation . - - A AreaDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In telecommunications and computing, bit rate is the number of bits that are conveyed or processed per unit of time. - - - https://en.wikipedia.org/wiki/Bit_rate - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of BitRate, which is BitPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of BitRate - - - - - Represents the smallest possible value of BitRate - - - - - The of this quantity. - - - - - All units of measurement for the BitRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit BitPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get BitRate in BitsPerSecond. - - - - - Get BitRate in BytesPerSecond. - - - - - Get BitRate in ExabitsPerSecond. - - - - - Get BitRate in ExabytesPerSecond. - - - - - Get BitRate in ExbibitsPerSecond. - - - - - Get BitRate in ExbibytesPerSecond. - - - - - Get BitRate in GibibitsPerSecond. - - - - - Get BitRate in GibibytesPerSecond. - - - - - Get BitRate in GigabitsPerSecond. - - - - - Get BitRate in GigabytesPerSecond. - - - - - Get BitRate in KibibitsPerSecond. - - - - - Get BitRate in KibibytesPerSecond. - - - - - Get BitRate in KilobitsPerSecond. - - - - - Get BitRate in KilobytesPerSecond. - - - - - Get BitRate in MebibitsPerSecond. - - - - - Get BitRate in MebibytesPerSecond. - - - - - Get BitRate in MegabitsPerSecond. - - - - - Get BitRate in MegabytesPerSecond. - - - - - Get BitRate in PebibitsPerSecond. - - - - - Get BitRate in PebibytesPerSecond. - - - - - Get BitRate in PetabitsPerSecond. - - - - - Get BitRate in PetabytesPerSecond. - - - - - Get BitRate in TebibitsPerSecond. - - - - - Get BitRate in TebibytesPerSecond. - - - - - Get BitRate in TerabitsPerSecond. - - - - - Get BitRate in TerabytesPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get BitRate from BitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from BytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from ExabitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from ExabytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from ExbibitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from ExbibytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from GibibitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from GibibytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from GigabitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from GigabytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from KibibitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from KibibytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from KilobitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from KilobytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from MebibitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from MebibytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from MegabitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from MegabytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from PebibitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from PebibytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from PetabitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from PetabytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from TebibitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from TebibytesPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from TerabitsPerSecond. - - If value is NaN or Infinity. - - - - Get BitRate from TerabytesPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - BitRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another BitRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current BitRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this BitRate to another BitRate with the unit representation . - - A BitRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Capacitance is the ability of a body to store an electric charge. - - - https://en.wikipedia.org/wiki/Capacitance - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Capacitance, which is Farad. All conversions go via this value. - - - - - Represents the largest possible value of Capacitance - - - - - Represents the smallest possible value of Capacitance - - - - - The of this quantity. - - - - - All units of measurement for the Capacitance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Farad. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Capacitance in Farads. - - - - - Get Capacitance in Kilofarads. - - - - - Get Capacitance in Megafarads. - - - - - Get Capacitance in Microfarads. - - - - - Get Capacitance in Millifarads. - - - - - Get Capacitance in Nanofarads. - - - - - Get Capacitance in Picofarads. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Capacitance from Farads. - - If value is NaN or Infinity. - - - - Get Capacitance from Kilofarads. - - If value is NaN or Infinity. - - - - Get Capacitance from Megafarads. - - If value is NaN or Infinity. - - - - Get Capacitance from Microfarads. - - If value is NaN or Infinity. - - - - Get Capacitance from Millifarads. - - If value is NaN or Infinity. - - - - Get Capacitance from Nanofarads. - - If value is NaN or Infinity. - - - - Get Capacitance from Picofarads. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Capacitance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Capacitance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Capacitance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Capacitance to another Capacitance with the unit representation . - - A Capacitance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A unit that represents a fractional change in size in response to a change in temperature. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of CoefficientOfThermalExpansion, which is InverseKelvin. All conversions go via this value. - - - - - Represents the largest possible value of CoefficientOfThermalExpansion - - - - - Represents the smallest possible value of CoefficientOfThermalExpansion - - - - - The of this quantity. - - - - - All units of measurement for the CoefficientOfThermalExpansion quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit InverseKelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get CoefficientOfThermalExpansion in InverseDegreeCelsius. - - - - - Get CoefficientOfThermalExpansion in InverseDegreeFahrenheit. - - - - - Get CoefficientOfThermalExpansion in InverseKelvin. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get CoefficientOfThermalExpansion from InverseDegreeCelsius. - - If value is NaN or Infinity. - - - - Get CoefficientOfThermalExpansion from InverseDegreeFahrenheit. - - If value is NaN or Infinity. - - - - Get CoefficientOfThermalExpansion from InverseKelvin. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - CoefficientOfThermalExpansion unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another CoefficientOfThermalExpansion within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current CoefficientOfThermalExpansion. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this CoefficientOfThermalExpansion to another CoefficientOfThermalExpansion with the unit representation . - - A CoefficientOfThermalExpansion with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - 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). - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricAdmittance, which is Siemens. All conversions go via this value. - - - - - Represents the largest possible value of ElectricAdmittance - - - - - Represents the smallest possible value of ElectricAdmittance - - - - - The of this quantity. - - - - - All units of measurement for the ElectricAdmittance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Siemens. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricAdmittance in Microsiemens. - - - - - Get ElectricAdmittance in Millisiemens. - - - - - Get ElectricAdmittance in Nanosiemens. - - - - - Get ElectricAdmittance in Siemens. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricAdmittance from Microsiemens. - - If value is NaN or Infinity. - - - - Get ElectricAdmittance from Millisiemens. - - If value is NaN or Infinity. - - - - Get ElectricAdmittance from Nanosiemens. - - If value is NaN or Infinity. - - - - Get ElectricAdmittance from Siemens. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricAdmittance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricAdmittance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricAdmittance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricAdmittance to another ElectricAdmittance with the unit representation . - - A ElectricAdmittance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In electromagnetism, charge density is a measure of the amount of electric charge per volume. - - - https://en.wikipedia.org/wiki/Charge_density - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricChargeDensity, which is CoulombPerCubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of ElectricChargeDensity - - - - - Represents the smallest possible value of ElectricChargeDensity - - - - - The of this quantity. - - - - - All units of measurement for the ElectricChargeDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit CoulombPerCubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricChargeDensity in CoulombsPerCubicMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricChargeDensity from CoulombsPerCubicMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricChargeDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricChargeDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricChargeDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricChargeDensity to another ElectricChargeDensity with the unit representation . - - A ElectricChargeDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The electrical conductance of an electrical conductor is a measure of the easeness to pass an electric current through that conductor. - - - https://en.wikipedia.org/wiki/Electrical_resistance_and_conductance - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricConductance, which is Siemens. All conversions go via this value. - - - - - Represents the largest possible value of ElectricConductance - - - - - Represents the smallest possible value of ElectricConductance - - - - - The of this quantity. - - - - - All units of measurement for the ElectricConductance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Siemens. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricConductance in Microsiemens. - - - - - Get ElectricConductance in Millisiemens. - - - - - Get ElectricConductance in Siemens. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricConductance from Microsiemens. - - If value is NaN or Infinity. - - - - Get ElectricConductance from Millisiemens. - - If value is NaN or Infinity. - - - - Get ElectricConductance from Siemens. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricConductance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricConductance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricConductance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricConductance to another ElectricConductance with the unit representation . - - A ElectricConductance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Electrical conductivity or specific conductance is the reciprocal of electrical resistivity, and measures a material's ability to conduct an electric current. - - - https://en.wikipedia.org/wiki/Electrical_resistivity_and_conductivity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricConductivity, which is SiemensPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of ElectricConductivity - - - - - Represents the smallest possible value of ElectricConductivity - - - - - The of this quantity. - - - - - All units of measurement for the ElectricConductivity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit SiemensPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricConductivity in SiemensPerFoot. - - - - - Get ElectricConductivity in SiemensPerInch. - - - - - Get ElectricConductivity in SiemensPerMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricConductivity from SiemensPerFoot. - - If value is NaN or Infinity. - - - - Get ElectricConductivity from SiemensPerInch. - - If value is NaN or Infinity. - - - - Get ElectricConductivity from SiemensPerMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricConductivity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricConductivity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricConductivity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricConductivity to another ElectricConductivity with the unit representation . - - A ElectricConductivity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In electromagnetism, current density is the electric current per unit area of cross section. - - - https://en.wikipedia.org/wiki/Current_density - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricCurrentDensity, which is AmperePerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of ElectricCurrentDensity - - - - - Represents the smallest possible value of ElectricCurrentDensity - - - - - The of this quantity. - - - - - All units of measurement for the ElectricCurrentDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit AmperePerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricCurrentDensity in AmperesPerSquareFoot. - - - - - Get ElectricCurrentDensity in AmperesPerSquareInch. - - - - - Get ElectricCurrentDensity in AmperesPerSquareMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricCurrentDensity from AmperesPerSquareFoot. - - If value is NaN or Infinity. - - - - Get ElectricCurrentDensity from AmperesPerSquareInch. - - If value is NaN or Infinity. - - - - Get ElectricCurrentDensity from AmperesPerSquareMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricCurrentDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricCurrentDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricCurrentDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricCurrentDensity to another ElectricCurrentDensity with the unit representation . - - A ElectricCurrentDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In electromagnetism, the current gradient describes how the current changes in time. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricCurrentGradient, which is AmperePerSecond. All conversions go via this value. - - - - - Represents the largest possible value of ElectricCurrentGradient - - - - - Represents the smallest possible value of ElectricCurrentGradient - - - - - The of this quantity. - - - - - All units of measurement for the ElectricCurrentGradient quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit AmperePerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricCurrentGradient in AmperesPerMicrosecond. - - - - - Get ElectricCurrentGradient in AmperesPerMillisecond. - - - - - Get ElectricCurrentGradient in AmperesPerNanosecond. - - - - - Get ElectricCurrentGradient in AmperesPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricCurrentGradient from AmperesPerMicrosecond. - - If value is NaN or Infinity. - - - - Get ElectricCurrentGradient from AmperesPerMillisecond. - - If value is NaN or Infinity. - - - - Get ElectricCurrentGradient from AmperesPerNanosecond. - - If value is NaN or Infinity. - - - - Get ElectricCurrentGradient from AmperesPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricCurrentGradient unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricCurrentGradient within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricCurrentGradient. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricCurrentGradient to another ElectricCurrentGradient with the unit representation . - - A ElectricCurrentGradient with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - An electric field is a force field that surrounds electric charges that attracts or repels other electric charges. - - - https://en.wikipedia.org/wiki/Electric_field - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricField, which is VoltPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of ElectricField - - - - - Represents the smallest possible value of ElectricField - - - - - The of this quantity. - - - - - All units of measurement for the ElectricField quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricField in VoltsPerMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricField from VoltsPerMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricField unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricField within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricField. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricField to another ElectricField with the unit representation . - - A ElectricField with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Inductance is a property of an electrical conductor which opposes a change in current. - - - https://en.wikipedia.org/wiki/Inductance - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricInductance, which is Henry. All conversions go via this value. - - - - - Represents the largest possible value of ElectricInductance - - - - - Represents the smallest possible value of ElectricInductance - - - - - The of this quantity. - - - - - All units of measurement for the ElectricInductance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Henry. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricInductance in Henries. - - - - - Get ElectricInductance in Microhenries. - - - - - Get ElectricInductance in Millihenries. - - - - - Get ElectricInductance in Nanohenries. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricInductance from Henries. - - If value is NaN or Infinity. - - - - Get ElectricInductance from Microhenries. - - If value is NaN or Infinity. - - - - Get ElectricInductance from Millihenries. - - If value is NaN or Infinity. - - - - Get ElectricInductance from Nanohenries. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricInductance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricInductance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricInductance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricInductance to another ElectricInductance with the unit representation . - - A ElectricInductance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The Electric Potential of a system known to use Alternating Current. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricPotentialAc, which is VoltAc. All conversions go via this value. - - - - - Represents the largest possible value of ElectricPotentialAc - - - - - Represents the smallest possible value of ElectricPotentialAc - - - - - The of this quantity. - - - - - All units of measurement for the ElectricPotentialAc quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltAc. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricPotentialAc in KilovoltsAc. - - - - - Get ElectricPotentialAc in MegavoltsAc. - - - - - Get ElectricPotentialAc in MicrovoltsAc. - - - - - Get ElectricPotentialAc in MillivoltsAc. - - - - - Get ElectricPotentialAc in VoltsAc. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricPotentialAc from KilovoltsAc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialAc from MegavoltsAc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialAc from MicrovoltsAc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialAc from MillivoltsAc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialAc from VoltsAc. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricPotentialAc unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricPotentialAc within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricPotentialAc. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricPotentialAc to another ElectricPotentialAc with the unit representation . - - A ElectricPotentialAc with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - ElectricPotential change rate is the ratio of the electric potential change to the time during which the change occurred (value of electric potential changes per unit time). - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricPotentialChangeRate, which is VoltPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of ElectricPotentialChangeRate - - - - - Represents the smallest possible value of ElectricPotentialChangeRate - - - - - The of this quantity. - - - - - All units of measurement for the ElectricPotentialChangeRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricPotentialChangeRate in KilovoltsPerHours. - - - - - Get ElectricPotentialChangeRate in KilovoltsPerMicroseconds. - - - - - Get ElectricPotentialChangeRate in KilovoltsPerMinutes. - - - - - Get ElectricPotentialChangeRate in KilovoltsPerSeconds. - - - - - Get ElectricPotentialChangeRate in MegavoltsPerHours. - - - - - Get ElectricPotentialChangeRate in MegavoltsPerMicroseconds. - - - - - Get ElectricPotentialChangeRate in MegavoltsPerMinutes. - - - - - Get ElectricPotentialChangeRate in MegavoltsPerSeconds. - - - - - Get ElectricPotentialChangeRate in MicrovoltsPerHours. - - - - - Get ElectricPotentialChangeRate in MicrovoltsPerMicroseconds. - - - - - Get ElectricPotentialChangeRate in MicrovoltsPerMinutes. - - - - - Get ElectricPotentialChangeRate in MicrovoltsPerSeconds. - - - - - Get ElectricPotentialChangeRate in MillivoltsPerHours. - - - - - Get ElectricPotentialChangeRate in MillivoltsPerMicroseconds. - - - - - Get ElectricPotentialChangeRate in MillivoltsPerMinutes. - - - - - Get ElectricPotentialChangeRate in MillivoltsPerSeconds. - - - - - Get ElectricPotentialChangeRate in VoltsPerHours. - - - - - Get ElectricPotentialChangeRate in VoltsPerMicroseconds. - - - - - Get ElectricPotentialChangeRate in VoltsPerMinutes. - - - - - Get ElectricPotentialChangeRate in VoltsPerSeconds. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricPotentialChangeRate from KilovoltsPerHours. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from KilovoltsPerMicroseconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from KilovoltsPerMinutes. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from KilovoltsPerSeconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MegavoltsPerHours. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MegavoltsPerMicroseconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MegavoltsPerMinutes. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MegavoltsPerSeconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MicrovoltsPerHours. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MicrovoltsPerMicroseconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MicrovoltsPerMinutes. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MicrovoltsPerSeconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MillivoltsPerHours. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MillivoltsPerMicroseconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MillivoltsPerMinutes. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from MillivoltsPerSeconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from VoltsPerHours. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from VoltsPerMicroseconds. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from VoltsPerMinutes. - - If value is NaN or Infinity. - - - - Get ElectricPotentialChangeRate from VoltsPerSeconds. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricPotentialChangeRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricPotentialChangeRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricPotentialChangeRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricPotentialChangeRate to another ElectricPotentialChangeRate with the unit representation . - - A ElectricPotentialChangeRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The Electric Potential of a system known to use Direct Current. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricPotentialDc, which is VoltDc. All conversions go via this value. - - - - - Represents the largest possible value of ElectricPotentialDc - - - - - Represents the smallest possible value of ElectricPotentialDc - - - - - The of this quantity. - - - - - All units of measurement for the ElectricPotentialDc quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltDc. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricPotentialDc in KilovoltsDc. - - - - - Get ElectricPotentialDc in MegavoltsDc. - - - - - Get ElectricPotentialDc in MicrovoltsDc. - - - - - Get ElectricPotentialDc in MillivoltsDc. - - - - - Get ElectricPotentialDc in VoltsDc. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricPotentialDc from KilovoltsDc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialDc from MegavoltsDc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialDc from MicrovoltsDc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialDc from MillivoltsDc. - - If value is NaN or Infinity. - - - - Get ElectricPotentialDc from VoltsDc. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricPotentialDc unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricPotentialDc within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricPotentialDc. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricPotentialDc to another ElectricPotentialDc with the unit representation . - - A ElectricPotentialDc with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Electrical resistivity (also known as resistivity, specific electrical resistance, or volume resistivity) is a fundamental property that quantifies how strongly a given material opposes the flow of electric current. - - - https://en.wikipedia.org/wiki/Electrical_resistivity_and_conductivity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricResistivity, which is OhmMeter. All conversions go via this value. - - - - - Represents the largest possible value of ElectricResistivity - - - - - Represents the smallest possible value of ElectricResistivity - - - - - The of this quantity. - - - - - All units of measurement for the ElectricResistivity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit OhmMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricResistivity in KiloohmsCentimeter. - - - - - Get ElectricResistivity in KiloohmMeters. - - - - - Get ElectricResistivity in MegaohmsCentimeter. - - - - - Get ElectricResistivity in MegaohmMeters. - - - - - Get ElectricResistivity in MicroohmsCentimeter. - - - - - Get ElectricResistivity in MicroohmMeters. - - - - - Get ElectricResistivity in MilliohmsCentimeter. - - - - - Get ElectricResistivity in MilliohmMeters. - - - - - Get ElectricResistivity in NanoohmsCentimeter. - - - - - Get ElectricResistivity in NanoohmMeters. - - - - - Get ElectricResistivity in OhmsCentimeter. - - - - - Get ElectricResistivity in OhmMeters. - - - - - Get ElectricResistivity in PicoohmsCentimeter. - - - - - Get ElectricResistivity in PicoohmMeters. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricResistivity from KiloohmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from KiloohmMeters. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from MegaohmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from MegaohmMeters. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from MicroohmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from MicroohmMeters. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from MilliohmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from MilliohmMeters. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from NanoohmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from NanoohmMeters. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from OhmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from OhmMeters. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from PicoohmsCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricResistivity from PicoohmMeters. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricResistivity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricResistivity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricResistivity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricResistivity to another ElectricResistivity with the unit representation . - - A ElectricResistivity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In electromagnetism, surface charge density is a measure of the amount of electric charge per surface area. - - - https://en.wikipedia.org/wiki/Charge_density - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ElectricSurfaceChargeDensity, which is CoulombPerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of ElectricSurfaceChargeDensity - - - - - Represents the smallest possible value of ElectricSurfaceChargeDensity - - - - - The of this quantity. - - - - - All units of measurement for the ElectricSurfaceChargeDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit CoulombPerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ElectricSurfaceChargeDensity in CoulombsPerSquareCentimeter. - - - - - Get ElectricSurfaceChargeDensity in CoulombsPerSquareInch. - - - - - Get ElectricSurfaceChargeDensity in CoulombsPerSquareMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ElectricSurfaceChargeDensity from CoulombsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get ElectricSurfaceChargeDensity from CoulombsPerSquareInch. - - If value is NaN or Infinity. - - - - Get ElectricSurfaceChargeDensity from CoulombsPerSquareMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ElectricSurfaceChargeDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ElectricSurfaceChargeDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ElectricSurfaceChargeDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ElectricSurfaceChargeDensity to another ElectricSurfaceChargeDensity with the unit representation . - - A ElectricSurfaceChargeDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The joule, symbol J, is a derived unit of energy, work, or amount of heat in the International System of Units. It is equal to the energy transferred (or work done) when applying a force of one newton through a distance of one metre (1 newton metre or N·m), or in passing an electric current of one ampere through a resistance of one ohm for one second. Many other units of energy are included. Please do not confuse this definition of the calorie with the one colloquially used by the food industry, the large calorie, which is equivalent to 1 kcal. Thermochemical definition of the calorie is used. For BTU, the IT definition is used. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Energy, which is Joule. All conversions go via this value. - - - - - Represents the largest possible value of Energy - - - - - Represents the smallest possible value of Energy - - - - - The of this quantity. - - - - - All units of measurement for the Energy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Joule. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Energy in BritishThermalUnits. - - - - - Get Energy in Calories. - - - - - Get Energy in DecathermsEc. - - - - - Get Energy in DecathermsImperial. - - - - - Get Energy in DecathermsUs. - - - - - Get Energy in ElectronVolts. - - - - - Get Energy in Ergs. - - - - - Get Energy in FootPounds. - - - - - Get Energy in GigabritishThermalUnits. - - - - - Get Energy in GigaelectronVolts. - - - - - Get Energy in Gigajoules. - - - - - Get Energy in GigawattDays. - - - - - Get Energy in GigawattHours. - - - - - Get Energy in HorsepowerHours. - - - - - Get Energy in Joules. - - - - - Get Energy in KilobritishThermalUnits. - - - - - Get Energy in Kilocalories. - - - - - Get Energy in KiloelectronVolts. - - - - - Get Energy in Kilojoules. - - - - - Get Energy in KilowattDays. - - - - - Get Energy in KilowattHours. - - - - - Get Energy in MegabritishThermalUnits. - - - - - Get Energy in Megacalories. - - - - - Get Energy in MegaelectronVolts. - - - - - Get Energy in Megajoules. - - - - - Get Energy in MegawattDays. - - - - - Get Energy in MegawattHours. - - - - - Get Energy in Millijoules. - - - - - Get Energy in TeraelectronVolts. - - - - - Get Energy in TerawattDays. - - - - - Get Energy in TerawattHours. - - - - - Get Energy in ThermsEc. - - - - - Get Energy in ThermsImperial. - - - - - Get Energy in ThermsUs. - - - - - Get Energy in WattDays. - - - - - Get Energy in WattHours. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Energy from BritishThermalUnits. - - If value is NaN or Infinity. - - - - Get Energy from Calories. - - If value is NaN or Infinity. - - - - Get Energy from DecathermsEc. - - If value is NaN or Infinity. - - - - Get Energy from DecathermsImperial. - - If value is NaN or Infinity. - - - - Get Energy from DecathermsUs. - - If value is NaN or Infinity. - - - - Get Energy from ElectronVolts. - - If value is NaN or Infinity. - - - - Get Energy from Ergs. - - If value is NaN or Infinity. - - - - Get Energy from FootPounds. - - If value is NaN or Infinity. - - - - Get Energy from GigabritishThermalUnits. - - If value is NaN or Infinity. - - - - Get Energy from GigaelectronVolts. - - If value is NaN or Infinity. - - - - Get Energy from Gigajoules. - - If value is NaN or Infinity. - - - - Get Energy from GigawattDays. - - If value is NaN or Infinity. - - - - Get Energy from GigawattHours. - - If value is NaN or Infinity. - - - - Get Energy from HorsepowerHours. - - If value is NaN or Infinity. - - - - Get Energy from Joules. - - If value is NaN or Infinity. - - - - Get Energy from KilobritishThermalUnits. - - If value is NaN or Infinity. - - - - Get Energy from Kilocalories. - - If value is NaN or Infinity. - - - - Get Energy from KiloelectronVolts. - - If value is NaN or Infinity. - - - - Get Energy from Kilojoules. - - If value is NaN or Infinity. - - - - Get Energy from KilowattDays. - - If value is NaN or Infinity. - - - - Get Energy from KilowattHours. - - If value is NaN or Infinity. - - - - Get Energy from MegabritishThermalUnits. - - If value is NaN or Infinity. - - - - Get Energy from Megacalories. - - If value is NaN or Infinity. - - - - Get Energy from MegaelectronVolts. - - If value is NaN or Infinity. - - - - Get Energy from Megajoules. - - If value is NaN or Infinity. - - - - Get Energy from MegawattDays. - - If value is NaN or Infinity. - - - - Get Energy from MegawattHours. - - If value is NaN or Infinity. - - - - Get Energy from Millijoules. - - If value is NaN or Infinity. - - - - Get Energy from TeraelectronVolts. - - If value is NaN or Infinity. - - - - Get Energy from TerawattDays. - - If value is NaN or Infinity. - - - - Get Energy from TerawattHours. - - If value is NaN or Infinity. - - - - Get Energy from ThermsEc. - - If value is NaN or Infinity. - - - - Get Energy from ThermsImperial. - - If value is NaN or Infinity. - - - - Get Energy from ThermsUs. - - If value is NaN or Infinity. - - - - Get Energy from WattDays. - - If value is NaN or Infinity. - - - - Get Energy from WattHours. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Energy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Energy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Energy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Energy to another Energy with the unit representation . - - A Energy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Entropy is an important concept in the branch of science known as thermodynamics. The idea of "irreversibility" is central to the understanding of entropy. It is often said that entropy is an expression of the disorder, or randomness of a system, or of our lack of information about it. Entropy is an extensive property. It has the dimension of energy divided by temperature, which has a unit of joules per kelvin (J/K) in the International System of Units - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Entropy, which is JoulePerKelvin. All conversions go via this value. - - - - - Represents the largest possible value of Entropy - - - - - Represents the smallest possible value of Entropy - - - - - The of this quantity. - - - - - All units of measurement for the Entropy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit JoulePerKelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Entropy in CaloriesPerKelvin. - - - - - Get Entropy in JoulesPerDegreeCelsius. - - - - - Get Entropy in JoulesPerKelvin. - - - - - Get Entropy in KilocaloriesPerKelvin. - - - - - Get Entropy in KilojoulesPerDegreeCelsius. - - - - - Get Entropy in KilojoulesPerKelvin. - - - - - Get Entropy in MegajoulesPerKelvin. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Entropy from CaloriesPerKelvin. - - If value is NaN or Infinity. - - - - Get Entropy from JoulesPerDegreeCelsius. - - If value is NaN or Infinity. - - - - Get Entropy from JoulesPerKelvin. - - If value is NaN or Infinity. - - - - Get Entropy from KilocaloriesPerKelvin. - - If value is NaN or Infinity. - - - - Get Entropy from KilojoulesPerDegreeCelsius. - - If value is NaN or Infinity. - - - - Get Entropy from KilojoulesPerKelvin. - - If value is NaN or Infinity. - - - - Get Entropy from MegajoulesPerKelvin. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Entropy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Entropy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Entropy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Entropy to another Entropy with the unit representation . - - A Entropy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Force change rate is the ratio of the force change to the time during which the change occurred (value of force changes per unit time). - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ForceChangeRate, which is NewtonPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of ForceChangeRate - - - - - Represents the smallest possible value of ForceChangeRate - - - - - The of this quantity. - - - - - All units of measurement for the ForceChangeRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ForceChangeRate in CentinewtonsPerSecond. - - - - - Get ForceChangeRate in DecanewtonsPerMinute. - - - - - Get ForceChangeRate in DecanewtonsPerSecond. - - - - - Get ForceChangeRate in DecinewtonsPerSecond. - - - - - Get ForceChangeRate in KilonewtonsPerMinute. - - - - - Get ForceChangeRate in KilonewtonsPerSecond. - - - - - Get ForceChangeRate in KilopoundsForcePerMinute. - - - - - Get ForceChangeRate in KilopoundsForcePerSecond. - - - - - Get ForceChangeRate in MicronewtonsPerSecond. - - - - - Get ForceChangeRate in MillinewtonsPerSecond. - - - - - Get ForceChangeRate in NanonewtonsPerSecond. - - - - - Get ForceChangeRate in NewtonsPerMinute. - - - - - Get ForceChangeRate in NewtonsPerSecond. - - - - - Get ForceChangeRate in PoundsForcePerMinute. - - - - - Get ForceChangeRate in PoundsForcePerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ForceChangeRate from CentinewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from DecanewtonsPerMinute. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from DecanewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from DecinewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from KilonewtonsPerMinute. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from KilonewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from KilopoundsForcePerMinute. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from KilopoundsForcePerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from MicronewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from MillinewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from NanonewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from NewtonsPerMinute. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from NewtonsPerSecond. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from PoundsForcePerMinute. - - If value is NaN or Infinity. - - - - Get ForceChangeRate from PoundsForcePerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ForceChangeRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ForceChangeRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ForceChangeRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ForceChangeRate to another ForceChangeRate with the unit representation . - - A ForceChangeRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The number of occurrences of a repeating event per unit time. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Frequency, which is Hertz. All conversions go via this value. - - - - - Represents the largest possible value of Frequency - - - - - Represents the smallest possible value of Frequency - - - - - The of this quantity. - - - - - All units of measurement for the Frequency quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Hertz. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Frequency in BeatsPerMinute. - - - - - Get Frequency in BUnits. - - - - - Get Frequency in CyclesPerHour. - - - - - Get Frequency in CyclesPerMinute. - - - - - Get Frequency in Gigahertz. - - - - - Get Frequency in Hertz. - - - - - Get Frequency in Kilohertz. - - - - - Get Frequency in Megahertz. - - - - - Get Frequency in PerSecond. - - - - - Get Frequency in RadiansPerSecond. - - - - - Get Frequency in Terahertz. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Frequency from BeatsPerMinute. - - If value is NaN or Infinity. - - - - Get Frequency from BUnits. - - If value is NaN or Infinity. - - - - Get Frequency from CyclesPerHour. - - If value is NaN or Infinity. - - - - Get Frequency from CyclesPerMinute. - - If value is NaN or Infinity. - - - - Get Frequency from Gigahertz. - - If value is NaN or Infinity. - - - - Get Frequency from Hertz. - - If value is NaN or Infinity. - - - - Get Frequency from Kilohertz. - - If value is NaN or Infinity. - - - - Get Frequency from Megahertz. - - If value is NaN or Infinity. - - - - Get Frequency from PerSecond. - - If value is NaN or Infinity. - - - - Get Frequency from RadiansPerSecond. - - If value is NaN or Infinity. - - - - Get Frequency from Terahertz. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Frequency unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Frequency within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Frequency. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Frequency to another Frequency with the unit representation . - - A Frequency with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Fuel efficiency is a form of thermal efficiency, meaning the ratio from effort to result of a process that converts chemical potential energy contained in a carrier (fuel) into kinetic energy or work. Fuel economy is stated as "fuel consumption" in liters per 100 kilometers (L/100 km). In countries using non-metric system, fuel economy is expressed in miles per gallon (mpg) (imperial galon or US galon). - - - https://en.wikipedia.org/wiki/Fuel_efficiency - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of FuelEfficiency, which is LiterPer100Kilometers. All conversions go via this value. - - - - - Represents the largest possible value of FuelEfficiency - - - - - Represents the smallest possible value of FuelEfficiency - - - - - The of this quantity. - - - - - All units of measurement for the FuelEfficiency quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit LiterPer100Kilometers. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get FuelEfficiency in KilometersPerLiters. - - - - - Get FuelEfficiency in LitersPer100Kilometers. - - - - - Get FuelEfficiency in MilesPerUkGallon. - - - - - Get FuelEfficiency in MilesPerUsGallon. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get FuelEfficiency from KilometersPerLiters. - - If value is NaN or Infinity. - - - - Get FuelEfficiency from LitersPer100Kilometers. - - If value is NaN or Infinity. - - - - Get FuelEfficiency from MilesPerUkGallon. - - If value is NaN or Infinity. - - - - Get FuelEfficiency from MilesPerUsGallon. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - FuelEfficiency unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another FuelEfficiency within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current FuelEfficiency. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this FuelEfficiency to another FuelEfficiency with the unit representation . - - A FuelEfficiency with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The heat transfer coefficient or film coefficient, or film effectiveness, in thermodynamics and in mechanics is the proportionality constant between the heat flux and the thermodynamic driving force for the flow of heat (i.e., the temperature difference, ΔT) - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of HeatTransferCoefficient, which is WattPerSquareMeterKelvin. All conversions go via this value. - - - - - Represents the largest possible value of HeatTransferCoefficient - - - - - Represents the smallest possible value of HeatTransferCoefficient - - - - - The of this quantity. - - - - - All units of measurement for the HeatTransferCoefficient quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit WattPerSquareMeterKelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get HeatTransferCoefficient in BtusPerSquareFootDegreeFahrenheit. - - - - - Get HeatTransferCoefficient in WattsPerSquareMeterCelsius. - - - - - Get HeatTransferCoefficient in WattsPerSquareMeterKelvin. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get HeatTransferCoefficient from BtusPerSquareFootDegreeFahrenheit. - - If value is NaN or Infinity. - - - - Get HeatTransferCoefficient from WattsPerSquareMeterCelsius. - - If value is NaN or Infinity. - - - - Get HeatTransferCoefficient from WattsPerSquareMeterKelvin. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - HeatTransferCoefficient unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another HeatTransferCoefficient within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current HeatTransferCoefficient. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this HeatTransferCoefficient to another HeatTransferCoefficient with the unit representation . - - A HeatTransferCoefficient with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In photometry, illuminance is the total luminous flux incident on a surface, per unit area. - - - https://en.wikipedia.org/wiki/Illuminance - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Illuminance, which is Lux. All conversions go via this value. - - - - - Represents the largest possible value of Illuminance - - - - - Represents the smallest possible value of Illuminance - - - - - The of this quantity. - - - - - All units of measurement for the Illuminance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Lux. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Illuminance in Kilolux. - - - - - Get Illuminance in Lux. - - - - - Get Illuminance in Megalux. - - - - - Get Illuminance in Millilux. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Illuminance from Kilolux. - - If value is NaN or Infinity. - - - - Get Illuminance from Lux. - - If value is NaN or Infinity. - - - - Get Illuminance from Megalux. - - If value is NaN or Infinity. - - - - Get Illuminance from Millilux. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Illuminance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Illuminance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Illuminance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Illuminance to another Illuminance with the unit representation . - - A Illuminance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In computing and telecommunications, a unit of information is the capacity of some standard data storage system or communication channel, used to measure the capacities of other systems and channels. In information theory, units of information are also used to measure the information contents or entropy of random variables. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Information, which is Bit. All conversions go via this value. - - - - - Represents the largest possible value of Information - - - - - Represents the smallest possible value of Information - - - - - The of this quantity. - - - - - All units of measurement for the Information quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Bit. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Information in Bits. - - - - - Get Information in Bytes. - - - - - Get Information in Exabits. - - - - - Get Information in Exabytes. - - - - - Get Information in Exbibits. - - - - - Get Information in Exbibytes. - - - - - Get Information in Gibibits. - - - - - Get Information in Gibibytes. - - - - - Get Information in Gigabits. - - - - - Get Information in Gigabytes. - - - - - Get Information in Kibibits. - - - - - Get Information in Kibibytes. - - - - - Get Information in Kilobits. - - - - - Get Information in Kilobytes. - - - - - Get Information in Mebibits. - - - - - Get Information in Mebibytes. - - - - - Get Information in Megabits. - - - - - Get Information in Megabytes. - - - - - Get Information in Pebibits. - - - - - Get Information in Pebibytes. - - - - - Get Information in Petabits. - - - - - Get Information in Petabytes. - - - - - Get Information in Tebibits. - - - - - Get Information in Tebibytes. - - - - - Get Information in Terabits. - - - - - Get Information in Terabytes. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Information from Bits. - - If value is NaN or Infinity. - - - - Get Information from Bytes. - - If value is NaN or Infinity. - - - - Get Information from Exabits. - - If value is NaN or Infinity. - - - - Get Information from Exabytes. - - If value is NaN or Infinity. - - - - Get Information from Exbibits. - - If value is NaN or Infinity. - - - - Get Information from Exbibytes. - - If value is NaN or Infinity. - - - - Get Information from Gibibits. - - If value is NaN or Infinity. - - - - Get Information from Gibibytes. - - If value is NaN or Infinity. - - - - Get Information from Gigabits. - - If value is NaN or Infinity. - - - - Get Information from Gigabytes. - - If value is NaN or Infinity. - - - - Get Information from Kibibits. - - If value is NaN or Infinity. - - - - Get Information from Kibibytes. - - If value is NaN or Infinity. - - - - Get Information from Kilobits. - - If value is NaN or Infinity. - - - - Get Information from Kilobytes. - - If value is NaN or Infinity. - - - - Get Information from Mebibits. - - If value is NaN or Infinity. - - - - Get Information from Mebibytes. - - If value is NaN or Infinity. - - - - Get Information from Megabits. - - If value is NaN or Infinity. - - - - Get Information from Megabytes. - - If value is NaN or Infinity. - - - - Get Information from Pebibits. - - If value is NaN or Infinity. - - - - Get Information from Pebibytes. - - If value is NaN or Infinity. - - - - Get Information from Petabits. - - If value is NaN or Infinity. - - - - Get Information from Petabytes. - - If value is NaN or Infinity. - - - - Get Information from Tebibits. - - If value is NaN or Infinity. - - - - Get Information from Tebibytes. - - If value is NaN or Infinity. - - - - Get Information from Terabits. - - If value is NaN or Infinity. - - - - Get Information from Terabytes. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Information unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Information within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Information. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Information to another Information with the unit representation . - - A Information with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Irradiance is the intensity of ultraviolet (UV) or visible light incident on a surface. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Irradiance, which is WattPerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of Irradiance - - - - - Represents the smallest possible value of Irradiance - - - - - The of this quantity. - - - - - All units of measurement for the Irradiance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit WattPerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Irradiance in KilowattsPerSquareCentimeter. - - - - - Get Irradiance in KilowattsPerSquareMeter. - - - - - Get Irradiance in MegawattsPerSquareCentimeter. - - - - - Get Irradiance in MegawattsPerSquareMeter. - - - - - Get Irradiance in MicrowattsPerSquareCentimeter. - - - - - Get Irradiance in MicrowattsPerSquareMeter. - - - - - Get Irradiance in MilliwattsPerSquareCentimeter. - - - - - Get Irradiance in MilliwattsPerSquareMeter. - - - - - Get Irradiance in NanowattsPerSquareCentimeter. - - - - - Get Irradiance in NanowattsPerSquareMeter. - - - - - Get Irradiance in PicowattsPerSquareCentimeter. - - - - - Get Irradiance in PicowattsPerSquareMeter. - - - - - Get Irradiance in WattsPerSquareCentimeter. - - - - - Get Irradiance in WattsPerSquareMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Irradiance from KilowattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from KilowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiance from MegawattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from MegawattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiance from MicrowattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from MicrowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiance from MilliwattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from MilliwattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiance from NanowattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from NanowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiance from PicowattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from PicowattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiance from WattsPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiance from WattsPerSquareMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Irradiance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Irradiance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Irradiance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Irradiance to another Irradiance with the unit representation . - - A Irradiance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Irradiation is the process by which an object is exposed to radiation. The exposure can originate from various sources, including natural sources. - - - https://en.wikipedia.org/wiki/Irradiation - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Irradiation, which is JoulePerSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of Irradiation - - - - - Represents the smallest possible value of Irradiation - - - - - The of this quantity. - - - - - All units of measurement for the Irradiation quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit JoulePerSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Irradiation in JoulesPerSquareCentimeter. - - - - - Get Irradiation in JoulesPerSquareMeter. - - - - - Get Irradiation in JoulesPerSquareMillimeter. - - - - - Get Irradiation in KilojoulesPerSquareMeter. - - - - - Get Irradiation in KilowattHoursPerSquareMeter. - - - - - Get Irradiation in MillijoulesPerSquareCentimeter. - - - - - Get Irradiation in WattHoursPerSquareMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Irradiation from JoulesPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiation from JoulesPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiation from JoulesPerSquareMillimeter. - - If value is NaN or Infinity. - - - - Get Irradiation from KilojoulesPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiation from KilowattHoursPerSquareMeter. - - If value is NaN or Infinity. - - - - Get Irradiation from MillijoulesPerSquareCentimeter. - - If value is NaN or Infinity. - - - - Get Irradiation from WattHoursPerSquareMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Irradiation unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Irradiation within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Irradiation. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Irradiation to another Irradiation with the unit representation . - - A Irradiation with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The Linear Power Density of a substance is its power per unit length. The term linear density is most often used when describing the characteristics of one-dimensional objects, although linear density can also be used to describe the density of a three-dimensional quantity along one particular dimension. - - - http://en.wikipedia.org/wiki/Linear_density - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of LinearPowerDensity, which is WattPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of LinearPowerDensity - - - - - Represents the smallest possible value of LinearPowerDensity - - - - - The of this quantity. - - - - - All units of measurement for the LinearPowerDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit WattPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get LinearPowerDensity in GigawattsPerCentimeter. - - - - - Get LinearPowerDensity in GigawattsPerFoot. - - - - - Get LinearPowerDensity in GigawattsPerInch. - - - - - Get LinearPowerDensity in GigawattsPerMeter. - - - - - Get LinearPowerDensity in GigawattsPerMillimeter. - - - - - Get LinearPowerDensity in KilowattsPerCentimeter. - - - - - Get LinearPowerDensity in KilowattsPerFoot. - - - - - Get LinearPowerDensity in KilowattsPerInch. - - - - - Get LinearPowerDensity in KilowattsPerMeter. - - - - - Get LinearPowerDensity in KilowattsPerMillimeter. - - - - - Get LinearPowerDensity in MegawattsPerCentimeter. - - - - - Get LinearPowerDensity in MegawattsPerFoot. - - - - - Get LinearPowerDensity in MegawattsPerInch. - - - - - Get LinearPowerDensity in MegawattsPerMeter. - - - - - Get LinearPowerDensity in MegawattsPerMillimeter. - - - - - Get LinearPowerDensity in MilliwattsPerCentimeter. - - - - - Get LinearPowerDensity in MilliwattsPerFoot. - - - - - Get LinearPowerDensity in MilliwattsPerInch. - - - - - Get LinearPowerDensity in MilliwattsPerMeter. - - - - - Get LinearPowerDensity in MilliwattsPerMillimeter. - - - - - Get LinearPowerDensity in WattsPerCentimeter. - - - - - Get LinearPowerDensity in WattsPerFoot. - - - - - Get LinearPowerDensity in WattsPerInch. - - - - - Get LinearPowerDensity in WattsPerMeter. - - - - - Get LinearPowerDensity in WattsPerMillimeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get LinearPowerDensity from GigawattsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from GigawattsPerFoot. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from GigawattsPerInch. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from GigawattsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from GigawattsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from KilowattsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from KilowattsPerFoot. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from KilowattsPerInch. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from KilowattsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from KilowattsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MegawattsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MegawattsPerFoot. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MegawattsPerInch. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MegawattsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MegawattsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MilliwattsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MilliwattsPerFoot. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MilliwattsPerInch. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MilliwattsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from MilliwattsPerMillimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from WattsPerCentimeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from WattsPerFoot. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from WattsPerInch. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from WattsPerMeter. - - If value is NaN or Infinity. - - - - Get LinearPowerDensity from WattsPerMillimeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - LinearPowerDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another LinearPowerDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current LinearPowerDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this LinearPowerDensity to another LinearPowerDensity with the unit representation . - - A LinearPowerDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Luminosity is an absolute measure of radiated electromagnetic power (light), the radiant power emitted by a light-emitting object. - - - https://en.wikipedia.org/wiki/Luminosity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Luminosity, which is Watt. All conversions go via this value. - - - - - Represents the largest possible value of Luminosity - - - - - Represents the smallest possible value of Luminosity - - - - - The of this quantity. - - - - - All units of measurement for the Luminosity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Watt. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Luminosity in Decawatts. - - - - - Get Luminosity in Deciwatts. - - - - - Get Luminosity in Femtowatts. - - - - - Get Luminosity in Gigawatts. - - - - - Get Luminosity in Kilowatts. - - - - - Get Luminosity in Megawatts. - - - - - Get Luminosity in Microwatts. - - - - - Get Luminosity in Milliwatts. - - - - - Get Luminosity in Nanowatts. - - - - - Get Luminosity in Petawatts. - - - - - Get Luminosity in Picowatts. - - - - - Get Luminosity in SolarLuminosities. - - - - - Get Luminosity in Terawatts. - - - - - Get Luminosity in Watts. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Luminosity from Decawatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Deciwatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Femtowatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Gigawatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Kilowatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Megawatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Microwatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Milliwatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Nanowatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Petawatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Picowatts. - - If value is NaN or Infinity. - - - - Get Luminosity from SolarLuminosities. - - If value is NaN or Infinity. - - - - Get Luminosity from Terawatts. - - If value is NaN or Infinity. - - - - Get Luminosity from Watts. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Luminosity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Luminosity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Luminosity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Luminosity to another Luminosity with the unit representation . - - A Luminosity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In photometry, luminous flux or luminous power is the measure of the perceived power of light. - - - https://en.wikipedia.org/wiki/Luminous_flux - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of LuminousFlux, which is Lumen. All conversions go via this value. - - - - - Represents the largest possible value of LuminousFlux - - - - - Represents the smallest possible value of LuminousFlux - - - - - The of this quantity. - - - - - All units of measurement for the LuminousFlux quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Lumen. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get LuminousFlux in Lumens. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get LuminousFlux from Lumens. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - LuminousFlux unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another LuminousFlux within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current LuminousFlux. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this LuminousFlux to another LuminousFlux with the unit representation . - - A LuminousFlux with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In photometry, luminous intensity is a measure of the wavelength-weighted power emitted by a light source in a particular direction per unit solid angle, based on the luminosity function, a standardized model of the sensitivity of the human eye. - - - https://en.wikipedia.org/wiki/Luminous_intensity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of LuminousIntensity, which is Candela. All conversions go via this value. - - - - - Represents the largest possible value of LuminousIntensity - - - - - Represents the smallest possible value of LuminousIntensity - - - - - The of this quantity. - - - - - All units of measurement for the LuminousIntensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Candela. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get LuminousIntensity in Candela. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get LuminousIntensity from Candela. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - LuminousIntensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another LuminousIntensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current LuminousIntensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this LuminousIntensity to another LuminousIntensity with the unit representation . - - A LuminousIntensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A magnetic field is a force field that is created by moving electric charges (electric currents) and magnetic dipoles, and exerts a force on other nearby moving charges and magnetic dipoles. - - - https://en.wikipedia.org/wiki/Magnetic_field - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MagneticField, which is Tesla. All conversions go via this value. - - - - - Represents the largest possible value of MagneticField - - - - - Represents the smallest possible value of MagneticField - - - - - The of this quantity. - - - - - All units of measurement for the MagneticField quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Tesla. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MagneticField in Gausses. - - - - - Get MagneticField in Microteslas. - - - - - Get MagneticField in Milligausses. - - - - - Get MagneticField in Milliteslas. - - - - - Get MagneticField in Nanoteslas. - - - - - Get MagneticField in Teslas. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MagneticField from Gausses. - - If value is NaN or Infinity. - - - - Get MagneticField from Microteslas. - - If value is NaN or Infinity. - - - - Get MagneticField from Milligausses. - - If value is NaN or Infinity. - - - - Get MagneticField from Milliteslas. - - If value is NaN or Infinity. - - - - Get MagneticField from Nanoteslas. - - If value is NaN or Infinity. - - - - Get MagneticField from Teslas. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MagneticField unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MagneticField within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MagneticField. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MagneticField to another MagneticField with the unit representation . - - A MagneticField with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In physics, specifically electromagnetism, the magnetic flux through a surface is the surface integral of the normal component of the magnetic field B passing through that surface. - - - https://en.wikipedia.org/wiki/Magnetic_flux - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MagneticFlux, which is Weber. All conversions go via this value. - - - - - Represents the largest possible value of MagneticFlux - - - - - Represents the smallest possible value of MagneticFlux - - - - - The of this quantity. - - - - - All units of measurement for the MagneticFlux quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Weber. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MagneticFlux in Webers. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MagneticFlux from Webers. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MagneticFlux unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MagneticFlux within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MagneticFlux. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MagneticFlux to another MagneticFlux with the unit representation . - - A MagneticFlux with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In classical electromagnetism, magnetization is the vector field that expresses the density of permanent or induced magnetic dipole moments in a magnetic material. - - - https://en.wikipedia.org/wiki/Magnetization - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Magnetization, which is AmperePerMeter. All conversions go via this value. - - - - - Represents the largest possible value of Magnetization - - - - - Represents the smallest possible value of Magnetization - - - - - The of this quantity. - - - - - All units of measurement for the Magnetization quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit AmperePerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Magnetization in AmperesPerMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Magnetization from AmperesPerMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Magnetization unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Magnetization within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Magnetization. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Magnetization to another Magnetization with the unit representation . - - A Magnetization with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A property of body reflects how its mass is distributed with regard to an axis. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MassMomentOfInertia, which is KilogramSquareMeter. All conversions go via this value. - - - - - Represents the largest possible value of MassMomentOfInertia - - - - - Represents the smallest possible value of MassMomentOfInertia - - - - - The of this quantity. - - - - - All units of measurement for the MassMomentOfInertia quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramSquareMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MassMomentOfInertia in GramSquareCentimeters. - - - - - Get MassMomentOfInertia in GramSquareDecimeters. - - - - - Get MassMomentOfInertia in GramSquareMeters. - - - - - Get MassMomentOfInertia in GramSquareMillimeters. - - - - - Get MassMomentOfInertia in KilogramSquareCentimeters. - - - - - Get MassMomentOfInertia in KilogramSquareDecimeters. - - - - - Get MassMomentOfInertia in KilogramSquareMeters. - - - - - Get MassMomentOfInertia in KilogramSquareMillimeters. - - - - - Get MassMomentOfInertia in KilotonneSquareCentimeters. - - - - - Get MassMomentOfInertia in KilotonneSquareDecimeters. - - - - - Get MassMomentOfInertia in KilotonneSquareMeters. - - - - - Get MassMomentOfInertia in KilotonneSquareMilimeters. - - - - - Get MassMomentOfInertia in MegatonneSquareCentimeters. - - - - - Get MassMomentOfInertia in MegatonneSquareDecimeters. - - - - - Get MassMomentOfInertia in MegatonneSquareMeters. - - - - - Get MassMomentOfInertia in MegatonneSquareMilimeters. - - - - - Get MassMomentOfInertia in MilligramSquareCentimeters. - - - - - Get MassMomentOfInertia in MilligramSquareDecimeters. - - - - - Get MassMomentOfInertia in MilligramSquareMeters. - - - - - Get MassMomentOfInertia in MilligramSquareMillimeters. - - - - - Get MassMomentOfInertia in PoundSquareFeet. - - - - - Get MassMomentOfInertia in PoundSquareInches. - - - - - Get MassMomentOfInertia in SlugSquareFeet. - - - - - Get MassMomentOfInertia in SlugSquareInches. - - - - - Get MassMomentOfInertia in TonneSquareCentimeters. - - - - - Get MassMomentOfInertia in TonneSquareDecimeters. - - - - - Get MassMomentOfInertia in TonneSquareMeters. - - - - - Get MassMomentOfInertia in TonneSquareMilimeters. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MassMomentOfInertia from GramSquareCentimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from GramSquareDecimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from GramSquareMeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from GramSquareMillimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilogramSquareCentimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilogramSquareDecimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilogramSquareMeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilogramSquareMillimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilotonneSquareCentimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilotonneSquareDecimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilotonneSquareMeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from KilotonneSquareMilimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MegatonneSquareCentimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MegatonneSquareDecimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MegatonneSquareMeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MegatonneSquareMilimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MilligramSquareCentimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MilligramSquareDecimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MilligramSquareMeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from MilligramSquareMillimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from PoundSquareFeet. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from PoundSquareInches. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from SlugSquareFeet. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from SlugSquareInches. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from TonneSquareCentimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from TonneSquareDecimeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from TonneSquareMeters. - - If value is NaN or Infinity. - - - - Get MassMomentOfInertia from TonneSquareMilimeters. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MassMomentOfInertia unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MassMomentOfInertia within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MassMomentOfInertia. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MassMomentOfInertia to another MassMomentOfInertia with the unit representation . - - A MassMomentOfInertia with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Molar energy is the amount of energy stored in 1 mole of a substance. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MolarEnergy, which is JoulePerMole. All conversions go via this value. - - - - - Represents the largest possible value of MolarEnergy - - - - - Represents the smallest possible value of MolarEnergy - - - - - The of this quantity. - - - - - All units of measurement for the MolarEnergy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit JoulePerMole. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MolarEnergy in JoulesPerMole. - - - - - Get MolarEnergy in KilojoulesPerMole. - - - - - Get MolarEnergy in MegajoulesPerMole. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MolarEnergy from JoulesPerMole. - - If value is NaN or Infinity. - - - - Get MolarEnergy from KilojoulesPerMole. - - If value is NaN or Infinity. - - - - Get MolarEnergy from MegajoulesPerMole. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MolarEnergy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MolarEnergy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MolarEnergy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MolarEnergy to another MolarEnergy with the unit representation . - - A MolarEnergy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Molar entropy is amount of energy required to increase temperature of 1 mole substance by 1 Kelvin. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MolarEntropy, which is JoulePerMoleKelvin. All conversions go via this value. - - - - - Represents the largest possible value of MolarEntropy - - - - - Represents the smallest possible value of MolarEntropy - - - - - The of this quantity. - - - - - All units of measurement for the MolarEntropy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit JoulePerMoleKelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MolarEntropy in JoulesPerMoleKelvin. - - - - - Get MolarEntropy in KilojoulesPerMoleKelvin. - - - - - Get MolarEntropy in MegajoulesPerMoleKelvin. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MolarEntropy from JoulesPerMoleKelvin. - - If value is NaN or Infinity. - - - - Get MolarEntropy from KilojoulesPerMoleKelvin. - - If value is NaN or Infinity. - - - - Get MolarEntropy from MegajoulesPerMoleKelvin. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MolarEntropy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MolarEntropy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MolarEntropy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MolarEntropy to another MolarEntropy with the unit representation . - - A MolarEntropy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In chemistry, the molar mass M is a physical property defined as the mass of a given substance (chemical element or chemical compound) divided by the amount of substance. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of MolarMass, which is KilogramPerMole. All conversions go via this value. - - - - - Represents the largest possible value of MolarMass - - - - - Represents the smallest possible value of MolarMass - - - - - The of this quantity. - - - - - All units of measurement for the MolarMass quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit KilogramPerMole. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get MolarMass in CentigramsPerMole. - - - - - Get MolarMass in DecagramsPerMole. - - - - - Get MolarMass in DecigramsPerMole. - - - - - Get MolarMass in GramsPerMole. - - - - - Get MolarMass in HectogramsPerMole. - - - - - Get MolarMass in KilogramsPerMole. - - - - - Get MolarMass in KilopoundsPerMole. - - - - - Get MolarMass in MegapoundsPerMole. - - - - - Get MolarMass in MicrogramsPerMole. - - - - - Get MolarMass in MilligramsPerMole. - - - - - Get MolarMass in NanogramsPerMole. - - - - - Get MolarMass in PoundsPerMole. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get MolarMass from CentigramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from DecagramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from DecigramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from GramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from HectogramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from KilogramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from KilopoundsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from MegapoundsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from MicrogramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from MilligramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from NanogramsPerMole. - - If value is NaN or Infinity. - - - - Get MolarMass from PoundsPerMole. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - MolarMass unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another MolarMass within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current MolarMass. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this MolarMass to another MolarMass with the unit representation . - - A MolarMass with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In electromagnetism, permeability is the measure of the ability of a material to support the formation of a magnetic field within itself. - - - https://en.wikipedia.org/wiki/Permeability_(electromagnetism) - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Permeability, which is HenryPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of Permeability - - - - - Represents the smallest possible value of Permeability - - - - - The of this quantity. - - - - - All units of measurement for the Permeability quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit HenryPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Permeability in HenriesPerMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Permeability from HenriesPerMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Permeability unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Permeability within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Permeability. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Permeability to another Permeability with the unit representation . - - A Permeability with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In electromagnetism, permittivity is the measure of resistance that is encountered when forming an electric field in a particular medium. - - - https://en.wikipedia.org/wiki/Permittivity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Permittivity, which is FaradPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of Permittivity - - - - - Represents the smallest possible value of Permittivity - - - - - The of this quantity. - - - - - All units of measurement for the Permittivity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit FaradPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Permittivity in FaradsPerMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Permittivity from FaradsPerMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Permittivity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Permittivity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Permittivity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Permittivity to another Permittivity with the unit representation . - - A Permittivity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The amount of power in a volume. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of PowerDensity, which is WattPerCubicMeter. All conversions go via this value. - - - - - Represents the largest possible value of PowerDensity - - - - - Represents the smallest possible value of PowerDensity - - - - - The of this quantity. - - - - - All units of measurement for the PowerDensity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit WattPerCubicMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get PowerDensity in DecawattsPerCubicFoot. - - - - - Get PowerDensity in DecawattsPerCubicInch. - - - - - Get PowerDensity in DecawattsPerCubicMeter. - - - - - Get PowerDensity in DecawattsPerLiter. - - - - - Get PowerDensity in DeciwattsPerCubicFoot. - - - - - Get PowerDensity in DeciwattsPerCubicInch. - - - - - Get PowerDensity in DeciwattsPerCubicMeter. - - - - - Get PowerDensity in DeciwattsPerLiter. - - - - - Get PowerDensity in GigawattsPerCubicFoot. - - - - - Get PowerDensity in GigawattsPerCubicInch. - - - - - Get PowerDensity in GigawattsPerCubicMeter. - - - - - Get PowerDensity in GigawattsPerLiter. - - - - - Get PowerDensity in KilowattsPerCubicFoot. - - - - - Get PowerDensity in KilowattsPerCubicInch. - - - - - Get PowerDensity in KilowattsPerCubicMeter. - - - - - Get PowerDensity in KilowattsPerLiter. - - - - - Get PowerDensity in MegawattsPerCubicFoot. - - - - - Get PowerDensity in MegawattsPerCubicInch. - - - - - Get PowerDensity in MegawattsPerCubicMeter. - - - - - Get PowerDensity in MegawattsPerLiter. - - - - - Get PowerDensity in MicrowattsPerCubicFoot. - - - - - Get PowerDensity in MicrowattsPerCubicInch. - - - - - Get PowerDensity in MicrowattsPerCubicMeter. - - - - - Get PowerDensity in MicrowattsPerLiter. - - - - - Get PowerDensity in MilliwattsPerCubicFoot. - - - - - Get PowerDensity in MilliwattsPerCubicInch. - - - - - Get PowerDensity in MilliwattsPerCubicMeter. - - - - - Get PowerDensity in MilliwattsPerLiter. - - - - - Get PowerDensity in NanowattsPerCubicFoot. - - - - - Get PowerDensity in NanowattsPerCubicInch. - - - - - Get PowerDensity in NanowattsPerCubicMeter. - - - - - Get PowerDensity in NanowattsPerLiter. - - - - - Get PowerDensity in PicowattsPerCubicFoot. - - - - - Get PowerDensity in PicowattsPerCubicInch. - - - - - Get PowerDensity in PicowattsPerCubicMeter. - - - - - Get PowerDensity in PicowattsPerLiter. - - - - - Get PowerDensity in TerawattsPerCubicFoot. - - - - - Get PowerDensity in TerawattsPerCubicInch. - - - - - Get PowerDensity in TerawattsPerCubicMeter. - - - - - Get PowerDensity in TerawattsPerLiter. - - - - - Get PowerDensity in WattsPerCubicFoot. - - - - - Get PowerDensity in WattsPerCubicInch. - - - - - Get PowerDensity in WattsPerCubicMeter. - - - - - Get PowerDensity in WattsPerLiter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get PowerDensity from DecawattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from DecawattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from DecawattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from DecawattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from DeciwattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from DeciwattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from DeciwattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from DeciwattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from GigawattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from GigawattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from GigawattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from GigawattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from KilowattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from KilowattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from KilowattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from KilowattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from MegawattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from MegawattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from MegawattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from MegawattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from MicrowattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from MicrowattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from MicrowattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from MicrowattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from MilliwattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from MilliwattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from MilliwattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from MilliwattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from NanowattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from NanowattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from NanowattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from NanowattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from PicowattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from PicowattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from PicowattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from PicowattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from TerawattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from TerawattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from TerawattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from TerawattsPerLiter. - - If value is NaN or Infinity. - - - - Get PowerDensity from WattsPerCubicFoot. - - If value is NaN or Infinity. - - - - Get PowerDensity from WattsPerCubicInch. - - If value is NaN or Infinity. - - - - Get PowerDensity from WattsPerCubicMeter. - - If value is NaN or Infinity. - - - - Get PowerDensity from WattsPerLiter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - PowerDensity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another PowerDensity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current PowerDensity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this PowerDensity to another PowerDensity with the unit representation . - - A PowerDensity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Pressure change rate is the ratio of the pressure change to the time during which the change occurred (value of pressure changes per unit time). - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of PressureChangeRate, which is PascalPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of PressureChangeRate - - - - - Represents the smallest possible value of PressureChangeRate - - - - - The of this quantity. - - - - - All units of measurement for the PressureChangeRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit PascalPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get PressureChangeRate in AtmospheresPerSecond. - - - - - Get PressureChangeRate in KilopascalsPerMinute. - - - - - Get PressureChangeRate in KilopascalsPerSecond. - - - - - Get PressureChangeRate in KilopoundsForcePerSquareInchPerMinute. - - - - - Get PressureChangeRate in KilopoundsForcePerSquareInchPerSecond. - - - - - Get PressureChangeRate in MegapascalsPerMinute. - - - - - Get PressureChangeRate in MegapascalsPerSecond. - - - - - Get PressureChangeRate in MegapoundsForcePerSquareInchPerMinute. - - - - - Get PressureChangeRate in MegapoundsForcePerSquareInchPerSecond. - - - - - Get PressureChangeRate in PascalsPerMinute. - - - - - Get PressureChangeRate in PascalsPerSecond. - - - - - Get PressureChangeRate in PoundsForcePerSquareInchPerMinute. - - - - - Get PressureChangeRate in PoundsForcePerSquareInchPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get PressureChangeRate from AtmospheresPerSecond. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from KilopascalsPerMinute. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from KilopascalsPerSecond. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from KilopoundsForcePerSquareInchPerMinute. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from KilopoundsForcePerSquareInchPerSecond. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from MegapascalsPerMinute. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from MegapascalsPerSecond. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from MegapoundsForcePerSquareInchPerMinute. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from MegapoundsForcePerSquareInchPerSecond. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from PascalsPerMinute. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from PascalsPerSecond. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from PoundsForcePerSquareInchPerMinute. - - If value is NaN or Infinity. - - - - Get PressureChangeRate from PoundsForcePerSquareInchPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - PressureChangeRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another PressureChangeRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current PressureChangeRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this PressureChangeRate to another PressureChangeRate with the unit representation . - - A PressureChangeRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In mathematics, a ratio is a relationship between two numbers of the same kind (e.g., objects, persons, students, spoonfuls, units of whatever identical dimension), usually expressed as "a to b" or a:b, sometimes expressed arithmetically as a dimensionless quotient of the two that explicitly indicates how many times the first number contains the second (not necessarily an integer). - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Ratio, which is DecimalFraction. All conversions go via this value. - - - - - Represents the largest possible value of Ratio - - - - - Represents the smallest possible value of Ratio - - - - - The of this quantity. - - - - - All units of measurement for the Ratio quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DecimalFraction. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Ratio in DecimalFractions. - - - - - Get Ratio in PartsPerBillion. - - - - - Get Ratio in PartsPerMillion. - - - - - Get Ratio in PartsPerThousand. - - - - - Get Ratio in PartsPerTrillion. - - - - - Get Ratio in Percent. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Ratio from DecimalFractions. - - If value is NaN or Infinity. - - - - Get Ratio from PartsPerBillion. - - If value is NaN or Infinity. - - - - Get Ratio from PartsPerMillion. - - If value is NaN or Infinity. - - - - Get Ratio from PartsPerThousand. - - If value is NaN or Infinity. - - - - Get Ratio from PartsPerTrillion. - - If value is NaN or Infinity. - - - - Get Ratio from Percent. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Ratio unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Ratio within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Ratio. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Ratio to another Ratio with the unit representation . - - A Ratio with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The change in ratio per unit of time. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of RatioChangeRate, which is DecimalFractionPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of RatioChangeRate - - - - - Represents the smallest possible value of RatioChangeRate - - - - - The of this quantity. - - - - - All units of measurement for the RatioChangeRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DecimalFractionPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get RatioChangeRate in DecimalFractionsPerSecond. - - - - - Get RatioChangeRate in PercentsPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get RatioChangeRate from DecimalFractionsPerSecond. - - If value is NaN or Infinity. - - - - Get RatioChangeRate from PercentsPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - RatioChangeRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another RatioChangeRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current RatioChangeRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this RatioChangeRate to another RatioChangeRate with the unit representation . - - A RatioChangeRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The Volt-ampere reactive hour (expressed as varh) is the reactive power of one Volt-ampere reactive produced in one hour. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ReactiveEnergy, which is VoltampereReactiveHour. All conversions go via this value. - - - - - Represents the largest possible value of ReactiveEnergy - - - - - Represents the smallest possible value of ReactiveEnergy - - - - - The of this quantity. - - - - - All units of measurement for the ReactiveEnergy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltampereReactiveHour. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ReactiveEnergy in KilovoltampereReactiveHours. - - - - - Get ReactiveEnergy in MegavoltampereReactiveHours. - - - - - Get ReactiveEnergy in VoltampereReactiveHours. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ReactiveEnergy from KilovoltampereReactiveHours. - - If value is NaN or Infinity. - - - - Get ReactiveEnergy from MegavoltampereReactiveHours. - - If value is NaN or Infinity. - - - - Get ReactiveEnergy from VoltampereReactiveHours. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ReactiveEnergy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ReactiveEnergy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ReactiveEnergy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ReactiveEnergy to another ReactiveEnergy with the unit representation . - - A ReactiveEnergy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Volt-ampere reactive (var) is a unit by which reactive power is expressed in an AC electric power system. Reactive power exists in an AC circuit when the current and voltage are not in phase. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ReactivePower, which is VoltampereReactive. All conversions go via this value. - - - - - Represents the largest possible value of ReactivePower - - - - - Represents the smallest possible value of ReactivePower - - - - - The of this quantity. - - - - - All units of measurement for the ReactivePower quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit VoltampereReactive. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ReactivePower in GigavoltamperesReactive. - - - - - Get ReactivePower in KilovoltamperesReactive. - - - - - Get ReactivePower in MegavoltamperesReactive. - - - - - Get ReactivePower in VoltamperesReactive. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ReactivePower from GigavoltamperesReactive. - - If value is NaN or Infinity. - - - - Get ReactivePower from KilovoltamperesReactive. - - If value is NaN or Infinity. - - - - Get ReactivePower from MegavoltamperesReactive. - - If value is NaN or Infinity. - - - - Get ReactivePower from VoltamperesReactive. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ReactivePower unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ReactivePower within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ReactivePower. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ReactivePower to another ReactivePower with the unit representation . - - A ReactivePower with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Relative humidity is a ratio of the actual water vapor present in the air to the maximum water vapor in the air at the given temperature. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of RelativeHumidity, which is Percent. All conversions go via this value. - - - - - Represents the largest possible value of RelativeHumidity - - - - - Represents the smallest possible value of RelativeHumidity - - - - - The of this quantity. - - - - - All units of measurement for the RelativeHumidity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Percent. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get RelativeHumidity in Percent. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get RelativeHumidity from Percent. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - RelativeHumidity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another RelativeHumidity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current RelativeHumidity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this RelativeHumidity to another RelativeHumidity with the unit representation . - - A RelativeHumidity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Angular acceleration is the rate of change of rotational speed. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of RotationalAcceleration, which is RadianPerSecondSquared. All conversions go via this value. - - - - - Represents the largest possible value of RotationalAcceleration - - - - - Represents the smallest possible value of RotationalAcceleration - - - - - The of this quantity. - - - - - All units of measurement for the RotationalAcceleration quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit RadianPerSecondSquared. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get RotationalAcceleration in DegreesPerSecondSquared. - - - - - Get RotationalAcceleration in RadiansPerSecondSquared. - - - - - Get RotationalAcceleration in RevolutionsPerMinutePerSecond. - - - - - Get RotationalAcceleration in RevolutionsPerSecondSquared. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get RotationalAcceleration from DegreesPerSecondSquared. - - If value is NaN or Infinity. - - - - Get RotationalAcceleration from RadiansPerSecondSquared. - - If value is NaN or Infinity. - - - - Get RotationalAcceleration from RevolutionsPerMinutePerSecond. - - If value is NaN or Infinity. - - - - Get RotationalAcceleration from RevolutionsPerSecondSquared. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - RotationalAcceleration unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another RotationalAcceleration within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current RotationalAcceleration. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this RotationalAcceleration to another RotationalAcceleration with the unit representation . - - A RotationalAcceleration with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A way of representing a number of items. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Scalar, which is Amount. All conversions go via this value. - - - - - Represents the largest possible value of Scalar - - - - - Represents the smallest possible value of Scalar - - - - - The of this quantity. - - - - - All units of measurement for the Scalar quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Amount. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Scalar in Amount. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Scalar from Amount. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Scalar unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Scalar within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Scalar. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Scalar to another Scalar with the unit representation . - - A Scalar with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - In geometry, a solid angle is the two-dimensional angle in three-dimensional space that an object subtends at a point. - - - https://en.wikipedia.org/wiki/Solid_angle - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of SolidAngle, which is Steradian. All conversions go via this value. - - - - - Represents the largest possible value of SolidAngle - - - - - Represents the smallest possible value of SolidAngle - - - - - The of this quantity. - - - - - All units of measurement for the SolidAngle quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit Steradian. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get SolidAngle in Steradians. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get SolidAngle from Steradians. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - SolidAngle unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another SolidAngle within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current SolidAngle. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this SolidAngle to another SolidAngle with the unit representation . - - A SolidAngle with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Specific entropy is an amount of energy required to raise temperature of a substance by 1 Kelvin per unit mass. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of SpecificEntropy, which is JoulePerKilogramKelvin. All conversions go via this value. - - - - - Represents the largest possible value of SpecificEntropy - - - - - Represents the smallest possible value of SpecificEntropy - - - - - The of this quantity. - - - - - All units of measurement for the SpecificEntropy quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit JoulePerKilogramKelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get SpecificEntropy in BtusPerPoundFahrenheit. - - - - - Get SpecificEntropy in CaloriesPerGramKelvin. - - - - - Get SpecificEntropy in JoulesPerKilogramDegreeCelsius. - - - - - Get SpecificEntropy in JoulesPerKilogramKelvin. - - - - - Get SpecificEntropy in KilocaloriesPerGramKelvin. - - - - - Get SpecificEntropy in KilojoulesPerKilogramDegreeCelsius. - - - - - Get SpecificEntropy in KilojoulesPerKilogramKelvin. - - - - - Get SpecificEntropy in MegajoulesPerKilogramDegreeCelsius. - - - - - Get SpecificEntropy in MegajoulesPerKilogramKelvin. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get SpecificEntropy from BtusPerPoundFahrenheit. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from CaloriesPerGramKelvin. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from JoulesPerKilogramDegreeCelsius. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from JoulesPerKilogramKelvin. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from KilocaloriesPerGramKelvin. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from KilojoulesPerKilogramDegreeCelsius. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from KilojoulesPerKilogramKelvin. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from MegajoulesPerKilogramDegreeCelsius. - - If value is NaN or Infinity. - - - - Get SpecificEntropy from MegajoulesPerKilogramKelvin. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - SpecificEntropy unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another SpecificEntropy within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current SpecificEntropy. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this SpecificEntropy to another SpecificEntropy with the unit representation . - - A SpecificEntropy with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The molar flow rate of a gas corrected to standardized conditions of temperature and pressure thus representing a fixed number of moles of gas regardless of composition and actual flow conditions. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of StandardVolumeFlow, which is StandardCubicMeterPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of StandardVolumeFlow - - - - - Represents the smallest possible value of StandardVolumeFlow - - - - - The of this quantity. - - - - - All units of measurement for the StandardVolumeFlow quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit StandardCubicMeterPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get StandardVolumeFlow in StandardCubicCentimetersPerMinute. - - - - - Get StandardVolumeFlow in StandardCubicFeetPerHour. - - - - - Get StandardVolumeFlow in StandardCubicFeetPerMinute. - - - - - Get StandardVolumeFlow in StandardCubicFeetPerSecond. - - - - - Get StandardVolumeFlow in StandardCubicMetersPerDay. - - - - - Get StandardVolumeFlow in StandardCubicMetersPerHour. - - - - - Get StandardVolumeFlow in StandardCubicMetersPerMinute. - - - - - Get StandardVolumeFlow in StandardCubicMetersPerSecond. - - - - - Get StandardVolumeFlow in StandardLitersPerMinute. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get StandardVolumeFlow from StandardCubicCentimetersPerMinute. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicFeetPerHour. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicFeetPerMinute. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicFeetPerSecond. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicMetersPerDay. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicMetersPerHour. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicMetersPerMinute. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardCubicMetersPerSecond. - - If value is NaN or Infinity. - - - - Get StandardVolumeFlow from StandardLitersPerMinute. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - StandardVolumeFlow unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another StandardVolumeFlow within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current StandardVolumeFlow. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this StandardVolumeFlow to another StandardVolumeFlow with the unit representation . - - A StandardVolumeFlow with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Temperature change rate is the ratio of the temperature change to the time during which the change occurred (value of temperature changes per unit time). - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of TemperatureChangeRate, which is DegreeCelsiusPerSecond. All conversions go via this value. - - - - - Represents the largest possible value of TemperatureChangeRate - - - - - Represents the smallest possible value of TemperatureChangeRate - - - - - The of this quantity. - - - - - All units of measurement for the TemperatureChangeRate quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit DegreeCelsiusPerSecond. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get TemperatureChangeRate in CentidegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in DecadegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in DecidegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in DegreesCelsiusPerMinute. - - - - - Get TemperatureChangeRate in DegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in HectodegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in KilodegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in MicrodegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in MillidegreesCelsiusPerSecond. - - - - - Get TemperatureChangeRate in NanodegreesCelsiusPerSecond. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get TemperatureChangeRate from CentidegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from DecadegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from DecidegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from DegreesCelsiusPerMinute. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from DegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from HectodegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from KilodegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from MicrodegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from MillidegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Get TemperatureChangeRate from NanodegreesCelsiusPerSecond. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - TemperatureChangeRate unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another TemperatureChangeRate within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current TemperatureChangeRate. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this TemperatureChangeRate to another TemperatureChangeRate with the unit representation . - - A TemperatureChangeRate with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Thermal conductivity is the property of a material to conduct heat. - - - https://en.wikipedia.org/wiki/Thermal_Conductivity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ThermalConductivity, which is WattPerMeterKelvin. All conversions go via this value. - - - - - Represents the largest possible value of ThermalConductivity - - - - - Represents the smallest possible value of ThermalConductivity - - - - - The of this quantity. - - - - - All units of measurement for the ThermalConductivity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit WattPerMeterKelvin. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ThermalConductivity in BtusPerHourFootFahrenheit. - - - - - Get ThermalConductivity in WattsPerMeterKelvin. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ThermalConductivity from BtusPerHourFootFahrenheit. - - If value is NaN or Infinity. - - - - Get ThermalConductivity from WattsPerMeterKelvin. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ThermalConductivity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ThermalConductivity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ThermalConductivity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ThermalConductivity to another ThermalConductivity with the unit representation . - - A ThermalConductivity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Heat Transfer Coefficient or Thermal conductivity - indicates a materials ability to conduct heat. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of ThermalResistance, which is SquareMeterKelvinPerKilowatt. All conversions go via this value. - - - - - Represents the largest possible value of ThermalResistance - - - - - Represents the smallest possible value of ThermalResistance - - - - - The of this quantity. - - - - - All units of measurement for the ThermalResistance quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit SquareMeterKelvinPerKilowatt. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get ThermalResistance in HourSquareFeetDegreesFahrenheitPerBtu. - - - - - Get ThermalResistance in SquareCentimeterHourDegreesCelsiusPerKilocalorie. - - - - - Get ThermalResistance in SquareCentimeterKelvinsPerWatt. - - - - - Get ThermalResistance in SquareMeterDegreesCelsiusPerWatt. - - - - - Get ThermalResistance in SquareMeterKelvinsPerKilowatt. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get ThermalResistance from HourSquareFeetDegreesFahrenheitPerBtu. - - If value is NaN or Infinity. - - - - Get ThermalResistance from SquareCentimeterHourDegreesCelsiusPerKilocalorie. - - If value is NaN or Infinity. - - - - Get ThermalResistance from SquareCentimeterKelvinsPerWatt. - - If value is NaN or Infinity. - - - - Get ThermalResistance from SquareMeterDegreesCelsiusPerWatt. - - If value is NaN or Infinity. - - - - Get ThermalResistance from SquareMeterKelvinsPerKilowatt. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - ThermalResistance unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another ThermalResistance within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current ThermalResistance. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this ThermalResistance to another ThermalResistance with the unit representation . - - A ThermalResistance with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - The magnitude of torque per unit length. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of TorquePerLength, which is NewtonMeterPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of TorquePerLength - - - - - Represents the smallest possible value of TorquePerLength - - - - - The of this quantity. - - - - - All units of measurement for the TorquePerLength quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NewtonMeterPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get TorquePerLength in KilogramForceCentimetersPerMeter. - - - - - Get TorquePerLength in KilogramForceMetersPerMeter. - - - - - Get TorquePerLength in KilogramForceMillimetersPerMeter. - - - - - Get TorquePerLength in KilonewtonCentimetersPerMeter. - - - - - Get TorquePerLength in KilonewtonMetersPerMeter. - - - - - Get TorquePerLength in KilonewtonMillimetersPerMeter. - - - - - Get TorquePerLength in KilopoundForceFeetPerFoot. - - - - - Get TorquePerLength in KilopoundForceInchesPerFoot. - - - - - Get TorquePerLength in MeganewtonCentimetersPerMeter. - - - - - Get TorquePerLength in MeganewtonMetersPerMeter. - - - - - Get TorquePerLength in MeganewtonMillimetersPerMeter. - - - - - Get TorquePerLength in MegapoundForceFeetPerFoot. - - - - - Get TorquePerLength in MegapoundForceInchesPerFoot. - - - - - Get TorquePerLength in NewtonCentimetersPerMeter. - - - - - Get TorquePerLength in NewtonMetersPerMeter. - - - - - Get TorquePerLength in NewtonMillimetersPerMeter. - - - - - Get TorquePerLength in PoundForceFeetPerFoot. - - - - - Get TorquePerLength in PoundForceInchesPerFoot. - - - - - Get TorquePerLength in TonneForceCentimetersPerMeter. - - - - - Get TorquePerLength in TonneForceMetersPerMeter. - - - - - Get TorquePerLength in TonneForceMillimetersPerMeter. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get TorquePerLength from KilogramForceCentimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilogramForceMetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilogramForceMillimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilonewtonCentimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilonewtonMetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilonewtonMillimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilopoundForceFeetPerFoot. - - If value is NaN or Infinity. - - - - Get TorquePerLength from KilopoundForceInchesPerFoot. - - If value is NaN or Infinity. - - - - Get TorquePerLength from MeganewtonCentimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from MeganewtonMetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from MeganewtonMillimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from MegapoundForceFeetPerFoot. - - If value is NaN or Infinity. - - - - Get TorquePerLength from MegapoundForceInchesPerFoot. - - If value is NaN or Infinity. - - - - Get TorquePerLength from NewtonCentimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from NewtonMetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from NewtonMillimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from PoundForceFeetPerFoot. - - If value is NaN or Infinity. - - - - Get TorquePerLength from PoundForceInchesPerFoot. - - If value is NaN or Infinity. - - - - Get TorquePerLength from TonneForceCentimetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from TonneForceMetersPerMeter. - - If value is NaN or Infinity. - - - - Get TorquePerLength from TonneForceMillimetersPerMeter. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - TorquePerLength unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another TorquePerLength within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current TorquePerLength. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this TorquePerLength to another TorquePerLength with the unit representation . - - A TorquePerLength with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Turbidity is the cloudiness or haziness of a fluid caused by large numbers of individual particles that are generally invisible to the naked eye, similar to smoke in air. The measurement of turbidity is a key test of water quality. - - - https://en.wikipedia.org/wiki/Turbidity - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of Turbidity, which is NTU. All conversions go via this value. - - - - - Represents the largest possible value of Turbidity - - - - - Represents the smallest possible value of Turbidity - - - - - The of this quantity. - - - - - All units of measurement for the Turbidity quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit NTU. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get Turbidity in NTU. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get Turbidity from NTU. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - Turbidity unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another Turbidity within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current Turbidity. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this Turbidity to another Turbidity with the unit representation . - - A Turbidity with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Vitamin A: 1 IU is the biological equivalent of 0.3 µg retinol, or of 0.6 µg beta-carotene. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of VitaminA, which is InternationalUnit. All conversions go via this value. - - - - - Represents the largest possible value of VitaminA - - - - - Represents the smallest possible value of VitaminA - - - - - The of this quantity. - - - - - All units of measurement for the VitaminA quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit InternationalUnit. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get VitaminA in InternationalUnits. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get VitaminA from InternationalUnits. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - VitaminA unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another VitaminA within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current VitaminA. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this VitaminA to another VitaminA with the unit representation . - - A VitaminA with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - Volume, typically of fluid, that a container can hold within a unit of length. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of VolumePerLength, which is CubicMeterPerMeter. All conversions go via this value. - - - - - Represents the largest possible value of VolumePerLength - - - - - Represents the smallest possible value of VolumePerLength - - - - - The of this quantity. - - - - - All units of measurement for the VolumePerLength quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit CubicMeterPerMeter. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get VolumePerLength in CubicMetersPerMeter. - - - - - Get VolumePerLength in CubicYardsPerFoot. - - - - - Get VolumePerLength in CubicYardsPerUsSurveyFoot. - - - - - Get VolumePerLength in LitersPerKilometer. - - - - - Get VolumePerLength in LitersPerMeter. - - - - - Get VolumePerLength in LitersPerMillimeter. - - - - - Get VolumePerLength in OilBarrelsPerFoot. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get VolumePerLength from CubicMetersPerMeter. - - If value is NaN or Infinity. - - - - Get VolumePerLength from CubicYardsPerFoot. - - If value is NaN or Infinity. - - - - Get VolumePerLength from CubicYardsPerUsSurveyFoot. - - If value is NaN or Infinity. - - - - Get VolumePerLength from LitersPerKilometer. - - If value is NaN or Infinity. - - - - Get VolumePerLength from LitersPerMeter. - - If value is NaN or Infinity. - - - - Get VolumePerLength from LitersPerMillimeter. - - If value is NaN or Infinity. - - - - Get VolumePerLength from OilBarrelsPerFoot. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - VolumePerLength unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another VolumePerLength within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current VolumePerLength. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this VolumePerLength to another VolumePerLength with the unit representation . - - A VolumePerLength with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - - A geometric property of an area that is used to determine the warping stress. - - - - - The numeric value this quantity was constructed with. - - - - - The unit this quantity was constructed with. - - - - - Creates the quantity with the given numeric value and unit. - - The numeric value to construct this quantity with. - The unit representation to construct this quantity with. - If value is NaN or Infinity. - - - - Creates an instance of the quantity with the given numeric value in units compatible with the given . - If multiple compatible units were found, the first match is used. - - The numeric value to construct this quantity with. - The unit system to create the quantity with. - The given is null. - No unit was found for the given . - - - - - - - The of this quantity. - - - - - The base unit of WarpingMomentOfInertia, which is MeterToTheSixth. All conversions go via this value. - - - - - Represents the largest possible value of WarpingMomentOfInertia - - - - - Represents the smallest possible value of WarpingMomentOfInertia - - - - - The of this quantity. - - - - - All units of measurement for the WarpingMomentOfInertia quantity. - - - - - Gets an instance of this quantity with a value of 0 in the base unit MeterToTheSixth. - - - - - The numeric value this quantity was constructed with. - - - - - - - - - - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Get WarpingMomentOfInertia in CentimetersToTheSixth. - - - - - Get WarpingMomentOfInertia in DecimetersToTheSixth. - - - - - Get WarpingMomentOfInertia in FeetToTheSixth. - - - - - Get WarpingMomentOfInertia in InchesToTheSixth. - - - - - Get WarpingMomentOfInertia in MetersToTheSixth. - - - - - Get WarpingMomentOfInertia in MillimetersToTheSixth. - - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - - - - Get unit abbreviation string. - - Unit to get abbreviation for. - Unit abbreviation string. - Format to use for localization. Defaults to if null. - - - - Get WarpingMomentOfInertia from CentimetersToTheSixth. - - If value is NaN or Infinity. - - - - Get WarpingMomentOfInertia from DecimetersToTheSixth. - - If value is NaN or Infinity. - - - - Get WarpingMomentOfInertia from FeetToTheSixth. - - If value is NaN or Infinity. - - - - Get WarpingMomentOfInertia from InchesToTheSixth. - - If value is NaN or Infinity. - - - - Get WarpingMomentOfInertia from MetersToTheSixth. - - If value is NaN or Infinity. - - - - Get WarpingMomentOfInertia from MillimetersToTheSixth. - - If value is NaN or Infinity. - - - - Dynamically convert from value and unit enum to . - - Value to convert from. - Unit to convert from. - WarpingMomentOfInertia unit value. - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - - - - Parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - - Expected string to have one or two pairs of quantity and unit in the format - "<quantity> <unit>". Eg. "5.5 m" or "1ft 2in" - - - More than one unit is represented by the specified unit abbreviation. - Example: Volume.Parse("1 cup") will throw, because it can refer to any of - , and . - - - If anything else goes wrong, typically due to a bug or unhandled case. - We wrap exceptions in to allow you to distinguish - Units.NET exceptions from other exceptions. - - Format to use when parsing number and unit. Defaults to if null. - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - - - - Try to parse a string with one or two quantities of the format "<quantity> <unit>". - - String to parse. Typically in the form: {number} {unit} - Resulting unit quantity if successful. - True if successful, otherwise false. - - Length.Parse("5.5 m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - Format to use when parsing number and unit. Defaults to if null. - - Length.ParseUnit("m", new CultureInfo("en-US")); - - The value of 'str' cannot be null. - Error parsing string. - - - - - - - Parse a unit string. - - String to parse. Typically in the form: {number} {unit} - The parsed unit if successful. - True if successful, otherwise false. - - Length.TryParseUnit("m", new CultureInfo("en-US")); - - Format to use when parsing number and unit. Defaults to if null. - - - Negate the value. - - - Get from adding two . - - - Get from subtracting two . - - - Get from multiplying value and . - - - Get from multiplying value and . - - - Get from dividing by value. - - - Get ratio value from dividing by . - - - Returns true if less or equal to. - - - Returns true if greater than or equal to. - - - Returns true if less than. - - - Returns true if greater than. - - - Returns true if exactly equal. - Consider using for safely comparing floating point values. - - - Returns true if not exactly equal. - Consider using for safely comparing floating point values. - - - - - - - - - - Consider using for safely comparing floating point values. - - - - Consider using for safely comparing floating point values. - - - - - Compare equality to another WarpingMomentOfInertia within the given absolute or relative tolerance. - - - Relative tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a percentage of this quantity's value. will be converted into - this quantity's unit for comparison. A relative tolerance of 0.01 means the absolute difference must be within +/- 1% of - this quantity's value to be considered equal. - - In this example, the two quantities will be equal if the value of b is within +/- 1% of a (0.02m or 2cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Relative); - - - - - Absolute tolerance is defined as the maximum allowable absolute difference between this quantity's value and - as a fixed number in this quantity's unit. will be converted into - this quantity's unit for comparison. - - In this example, the two quantities will be equal if the value of b is within 0.01 of a (0.01m or 1cm). - - var a = Length.FromMeters(2.0); - var b = Length.FromInches(50.0); - a.Equals(b, 0.01, ComparisonType.Absolute); - - - - - Note that it is advised against specifying zero difference, due to the nature - of floating point operations and using System.Double internally. - - - The other quantity to compare to. - The absolute or relative tolerance value. Must be greater than or equal to 0. - The comparison type: either relative or absolute. - True if the absolute difference between the two values is not greater than the specified relative or absolute tolerance. - - - - Returns the hash code for this instance. - - A hash code for the current WarpingMomentOfInertia. - - - - Convert to the unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts this WarpingMomentOfInertia to another WarpingMomentOfInertia with the unit representation . - - A WarpingMomentOfInertia with the specified unit. - - - - - - - - - - - - - - - - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Converts the current value + unit to the base unit. - This is typically the first step in converting from one unit to another. - - The value in the base unit representation. - - - - Gets the default string representation of value and unit. - - String representation. - - - - Gets the default string representation of value and unit using the given format provider. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implicitly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - - Gets the string representation of this instance in the specified format string using . - - The format string. - The string representation. - - - - - Gets the string representation of this instance in the specified format string using the specified format provider, or if null. - - The format string. - Format to use for localization and number formatting. Defaults to if null. - The string representation. - - - - Lists all generated quantities with the same name as the quantity struct type, - such as Length, Mass, Force etc. - This is useful for populating options in the UI, such as creating a generic conversion - tool with inputValue, quantityName, fromUnit and toUnit selectors. - - - - - Convert between units of a quantity, such as converting from meters to centimeters of a given length. - - - - - Registers the default conversion functions in the given instance. - - The to register the default conversion functions in. - - - - The static instance used by Units.NET to convert between units. Modify this to add/remove conversion functions at runtime, such - as adding your own third-party units and quantities to convert between. - - - - - Sets the conversion function from two units of the same quantity type. - - The type of quantity, must implement . - From unit enum value, such as . - To unit enum value, such as . - The quantity conversion function. - - - - Sets the conversion function from two units of different quantity types. - - From quantity type, must implement . - To quantity type, must implement . - From unit enum value, such as . - To unit enum value, such as . - The quantity conversion function. - - - - Sets the conversion function from two units of different quantity types. - - From quantity type, must implement . - From unit enum value, such as . - To quantity type, must implement . - To unit enum value, such as . - The quantity conversion function. - - - - Sets the conversion function for a particular conversion function lookup. - - The lookup key. - The quantity conversion function. - - - - Sets the conversion function for a particular conversion function lookup. - - The quantity type, must implement . - The quantity conversion function lookup key. - The quantity conversion function. - - - - Gets the conversion function from two units of the same quantity type. - - The quantity type, must implement . - From unit enum value, such as . - To unit enum value, such as . - - - - - Gets the conversion function from two units of different quantity types. - - From quantity type, must implement . - To quantity type, must implement . - From unit enum value, such as . - To unit enum value, such as . - - - - - Gets the conversion function from two units of different quantity types. - - From quantity type, must implement . - From unit enum value, such as . - To quantity type, must implement . - To unit enum value, such as . - - - - Gets the conversion function by its lookup key. - - - - - - Gets the conversion function for two units of the same quantity type. - - The quantity type, must implement . - From unit enum value, such as . - To unit enum value, such as . - The quantity conversion function. - true if set; otherwise, false. - - - - Gets the conversion function for two units of different quantity types. - - From quantity type, must implement . - To quantity type, must implement . - From unit enum value, such as . - To unit enum value, such as . - The quantity conversion function. - true if set; otherwise, false. - - - - Try to get the conversion function for two units of the same quantity type. - - From quantity type, must implement . - From unit enum value, such as . - To quantity type, must implement . - To unit enum value, such as . - The quantity conversion function. - true if set; otherwise, false. - - - - - - - - true if set; otherwise, false. - - - - Convert between any two quantity units given a numeric value and two unit enum values. - - Numeric value. - From unit enum value. - To unit enum value, must be compatible with . - The converted value in the new unit representation. - - - - Try to convert between any two quantity units given a numeric value and two unit enum values. - - Numeric value. - From unit enum value. - To unit enum value, must be compatible with . - The converted value, if successful. Otherwise default. - True if successful. - - - - Convert between any two quantity units by their names, such as converting a "Length" of N "Meter" to "Centimeter". - This is particularly useful for creating things like a generated unit conversion UI, - where you list some selectors: - a) Quantity: Length, Mass, Force etc. - b) From unit: Meter, Centimeter etc if Length is selected - c) To unit: Meter, Centimeter etc if Length is selected - - - Input value, which together with represents the quantity to - convert from. - - - Name of quantity, such as "Length" and "Mass". for all - values. - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - double centimeters = ConvertByName(5, "Length", "Meter", "Centimeter"); // 500 - Output value as the result of converting to . - No units match the abbreviation. - More than one unit matches the abbreviation. - - - - Convert between any two quantity units by their names, such as converting a "Length" of N "Meter" to "Centimeter". - This is particularly useful for creating things like a generated unit conversion UI, - where you list some selectors: - a) Quantity: Length, Mass, Force etc. - b) From unit: Meter, Centimeter etc if Length is selected - c) To unit: Meter, Centimeter etc if Length is selected - - - Input value, which together with represents the quantity to - convert from. - - - Name of quantity, such as "Length" and "Mass". for all - values. - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - Result if conversion was successful, 0 if not. - bool ok = TryConvertByName(5, "Length", "Meter", "Centimeter", out double centimeters); // 500 - True if conversion was successful. - - - - Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". - This is particularly useful for creating things like a generated unit conversion UI, - where you list some selectors: - a) Quantity: Length, Mass, Force etc. - b) From unit: Meter, Centimeter etc if Length is selected - c) To unit: Meter, Centimeter etc if Length is selected - - - Input value, which together with represents the quantity to - convert from. - - - Name of quantity, such as "Length" and "Mass". for all - values. - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 - Output value as the result of converting to . - - - - Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". - This is particularly useful for creating things like a generated unit conversion UI, - where you list some selectors: - a) Quantity: Length, Mass, Force etc. - b) From unit: Meter, Centimeter etc if Length is selected - c) To unit: Meter, Centimeter etc if Length is selected - - - Input value, which together with represents the quantity to - convert from. - - - Name of quantity, such as "Length" and "Mass". for all - values. - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - Culture to parse abbreviations with. - double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 - Output value as the result of converting to . - - No unit types match the prefix of or no units - are mapped to the abbreviation. - - More than one unit matches the abbreviation. - - - - Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". - This is particularly useful for creating things like a generated unit conversion UI, - where you list some selectors: - a) Quantity: Length, Mass, Force etc. - b) From unit: Meter, Centimeter etc if Length is selected - c) To unit: Meter, Centimeter etc if Length is selected - - - Input value, which together with represents the quantity to - convert from. - - - Name of quantity, such as "Length" and "Mass". for all - values. - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - Result if conversion was successful, 0 if not. - double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 - True if conversion was successful. - - - - Convert between any two quantity units by their abbreviations, such as converting a "Length" of N "m" to "cm". - This is particularly useful for creating things like a generated unit conversion UI, - where you list some selectors: - a) Quantity: Length, Mass, Force etc. - b) From unit: Meter, Centimeter etc if Length is selected - c) To unit: Meter, Centimeter etc if Length is selected - - - Input value, which together with represents the quantity to - convert from. - - - Name of quantity, such as "Length" and "Mass". for all - values. - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - - Name of unit, such as "Meter" or "Centimeter" if "Length" was passed as - . - - Culture to parse abbreviations with. - Result if conversion was successful, 0 if not. - double centimeters = ConvertByName(5, "Length", "m", "cm"); // 500 - True if conversion was successful. - - - - Parse a unit by the unit enum type and a unit enum value > - - Unit type, such as . - Unit name, such as "Meter" corresponding to . - The return enum value, such as boxed as an object. - True if succeeded, otherwise false. - No unit values match the . - - - - The pound per horse power hour uses mechanical horse power and the imperial pound - - - - - The short ton-force is a unit of force equal to 2,000 pounds-force (907.18474 kgf), that is most commonly used in the United States – known there simply as the ton or US ton. - - https://en.wikipedia.org/wiki/Ton-force#Short_ton-force - - - - One Astronomical Unit is the distance from the solar system Star, the sun, to planet Earth. - - https://en.wikipedia.org/wiki/Astronomical_unit - - - - A Light Year (ly) is the distance that light travel during an Earth year, ie 365 days. - - https://en.wikipedia.org/wiki/Light-year - - - - A parsec is defined as the distance at which one astronomical unit (AU) subtends an angle of one arcsecond. - - https://en.wikipedia.org/wiki/Parsec - - - - Solar radius is a ratio unit to the radius of the solar system star, the sun. - - https://en.wikipedia.org/wiki/Stellar_classification - - - https://www.britannica.com/science/luminosity - - - - Earth mass is a ratio unit to the mass of planet Earth. - - https://en.wikipedia.org/wiki/Earth_mass - - - - A grain is a unit of measurement of mass, and in the troy weight, avoirdupois, and Apothecaries' system, equal to exactly 64.79891 milligrams. - - https://en.wikipedia.org/wiki/Grain_(unit) - - - - The long or imperial hundredweight (abbreviation cwt) is a unit of mass equal to 112 pounds in US and Canada. - - https://en.wikipedia.org/wiki/Hundredweight - - - - Long ton (weight ton or Imperial ton) is a unit of mass equal to 2,240 pounds (1,016 kg) and is the name for the unit called the "ton" in the avoirdupois or Imperial system of measurements that was used in the United Kingdom and several other Commonwealth countries before metrication. - - http://en.wikipedia.org/wiki/Long_ton - - - - An ounce (abbreviated oz) is usually the international avoirdupois ounce as used in the United States customary and British imperial systems, which is equal to one-sixteenth of a pound or approximately 28 grams. The abbreviation 'oz' derives from the Italian word onza (now spelled oncia). - - http://en.wikipedia.org/wiki/Ounce - - - - The pound or pound-mass (abbreviations: lb, lbm) is a unit of mass used in the imperial, United States customary and other systems of measurement. A number of different definitions have been used, the most common today being the international avoirdupois pound which is legally defined as exactly 0.45359237 kilograms, and which is divided into 16 avoirdupois ounces. - - - - - The short hundredweight (abbreviation cwt) is a unit of mass equal to 100 pounds in US and Canada. In British English, the short hundredweight is referred to as the "cental". - - https://en.wikipedia.org/wiki/Hundredweight - - - - The short ton is a unit of mass equal to 2,000 pounds (907.18474 kg), that is most commonly used in the United States – known there simply as the ton. - - http://en.wikipedia.org/wiki/Short_ton - - - - The slug (abbreviation slug) is a unit of mass that is accelerated by 1 ft/s² when a force of one pound (lbf) is exerted on it. - - http://en.wikipedia.org/wiki/Slug_(unit) - - - - Solar mass is a ratio unit to the mass of the solar system star, the sun. - - https://en.wikipedia.org/wiki/Solar_mass - - - - The stone (abbreviation st) is a unit of mass equal to 14 pounds avoirdupois (about 6.35 kilograms) used in Great Britain and Ireland for measuring human body weight. - - http://en.wikipedia.org/wiki/Stone_(unit) - - - - Represents a quantity with a decimal value. - - - - - The decimal value this quantity was constructed with. - - - - - Guard methods to ensure parameter values satisfy pre-conditions and use a consistent exception message. - - - - - Throws if value is , - or . - - The value to check. - Name of parameter in calling method. - The given if valid. - If is invalid. - - - - Wrap the type to make it .NET agnostic using Type for old targets and the newer TypeInfo for newer targets. - - - - - Returns the type or type info object depending on compile target, such as TypeInfo for .NET 4.5+ and Type for .NET - 4.0 and older. - The APIs of these two objects are similar, but obtaining them is slightly different. - The idea is to get fewer #if pragma statements in the code. - - - - - Represents a quantity. - - - - - The of this quantity. - - - - - The of this quantity. - - - - - Information about the quantity type, such as unit values and names. - - - - - Gets the value in the given unit. - - The unit enum value. The unit must be compatible, so for you should provide a value. - Value converted to the specified unit. - Wrong unit enum type was given. - - - - Gets the value in the unit determined by the given . If multiple units were found for the given , - the first match will be used. - - The to convert the quantity value to. - The converted value. - - - - The unit this quantity was constructed with -or- BaseUnit if default ctor was used. - - - - - The value this quantity was constructed with. See also . - - - - - Converts to a quantity with the given unit representation, which affects things like . - - The unit enum value. The unit must be compatible, so for you should provide a value. - A new quantity with the given unit. - - - - Converts to a quantity with a unit determined by the given , which affects things like . - If multiple units were found for the given , the first match will be used. - - The to convert the quantity to. - A new quantity with the determined unit. - - - - Gets the string representation of value and unit. Uses two significant digits after radix. - - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - The number of significant digits after the radix point. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - Get string representation of value and unit. - - String format to use. Default: "{0:0.##} {1} for value and unit abbreviation respectively." - Arguments for string format. Value and unit are implictly included as arguments 0 and 1. - String representation. - Format to use for localization and number formatting. Defaults to if null. - - - - A stronger typed interface where the unit enum type is known, to avoid passing in the - wrong unit enum type and not having to cast from . - - - IQuantity{LengthUnit} length; - double centimeters = length.As(LengthUnit.Centimeter); // Type safety on enum type - - - - - Convert to a unit representation . - - Value converted to the specified unit. - - - - - - - - - - Converts to a quantity with the given unit representation, which affects things like . - - The unit enum value. - A new quantity with the given unit. - - - - Converts to a quantity with a unit determined by the given , which affects things like . - If multiple units were found for the given , the first match will be used. - - The to convert the quantity to. - A new quantity with the determined unit. - - - - The QuantityFormatter class is responsible for formatting a quantity using the given format string. - - - - - The available UnitsNet custom format specifiers. - - - - - Formats a quantity using the given format string and format provider. - - The quantity's unit type, for example . - The quantity to format. - The format string. - - The valid format strings are as follows: - - - A standard numeric format string. - Any of the standard numeric format for except for "G" or "g". - "C" or "c", "E" or "e", "F" or "f", "N" or "n", "P" or "p", "R" or "r" are all accepted. - - - - "G" or "g". - The value with 2 significant digits after the radix followed by the unit abbreviation, such as "1.23 m". - - - "A" or "a". - The default unit abbreviation for , such as "m". - - - "A0", "A1", ..., "An" or "a0", "a1", ..., "an". - The n-th unit abbreviation for . "a0" is the same as "a". - A will be thrown if the requested abbreviation index does not exist. - - - "V" or "v". - The string representation of using the default ToString method. - - - "U" or "u". - The enum name of , such as "Meter". - - - "Q" or "q". - The quantity name, such as "Length". - - - "S1", "S2", ..., "Sn" or "s1", "s2", ..., "sn". - The value with n significant digits after the radix followed by the unit abbreviation. For example, - "s4" would return "1.2345 m" if is 1.2345678. Trailing zeros are omitted. - - - - The string representation. - - - - Formats a quantity using the given format string and format provider. - - The quantity's unit type, for example . - The quantity to format. - The format string. - The format provider to use for localization and number formatting. Defaults to - if null. - - The valid format strings are as follows: - - - A standard numeric format string. - Any of the standard numeric format for except for "G" or "g". - "C" or "c", "E" or "e", "F" or "f", "N" or "n", "P" or "p", "R" or "r" are all accepted. - - - - "G" or "g". - The value with 2 significant digits after the radix followed by the unit abbreviation, such as "1.23 m". - - - "A" or "a". - The default unit abbreviation for , such as "m". - - - "A0", "A1", ..., "An" or "a0", "a1", ..., "an". - The n-th unit abbreviation for . "a0" is the same as "a". - A will be thrown if the requested abbreviation index does not exist. - - - "V" or "v". - The string representation of using the default ToString method. - - - "U" or "u". - The enum name of , such as "Meter". - - - "Q" or "q". - The quantity name, such as "Length". - - - "S1", "S2", ..., "Sn" or "s1", "s2", ..., "sn". - The value with n significant digits after the radix followed by the unit abbreviation. For example, - "s4" would return "1.2345 m" if is 1.2345678. Trailing zeros are omitted. - - - - The string representation. - - - - Information about the quantity, such as names, unit values and zero quantity. - This is useful to enumerate units and present names with quantities and units - chose dynamically at runtime, such as unit conversion apps or allowing the user to change the - unit representation. - - - Typically you obtain this by looking it up via . - - - - - Constructs an instance. - - The quantity enum value. - The information about the units for this quantity. - The base unit enum value. - The zero quantity. - The base dimensions of the quantity. - Quantity type can not be undefined. - If units -or- baseUnit -or- zero -or- baseDimensions is null. - - - - Constructs an instance. - - Name of the quantity. - The unit enum type, such as . - The information about the units for this quantity. - The base unit enum value. - The zero quantity. - The base dimensions of the quantity. - The the quantity type. Defaults to Undefined. - Quantity type can not be undefined. - If units -or- baseUnit -or- zero -or- baseDimensions is null. - - - - Quantity name, such as "Length" or "Mass". - - - - - Quantity type, such as or . - - - - - The units for this quantity. - - - - - All unit names for the quantity, such as ["Centimeter", "Decimeter", "Meter", ...]. - - - - - All unit enum values for the quantity, such as [, - , , ...]. - - - - - The base unit of this quantity. - - - - - The base unit for the quantity, such as . - - - - - Zero value of quantity, such as . - - - - - Unit enum type, such as or . - - - - - Quantity value type, such as or . - - - - - The for a quantity. - - - - - Gets the whose is a subset of . - - Length.Info.GetUnitInfoFor(unitSystemWithFootAsLengthUnit) returns for . - The to check against. - The that has that is a subset of . - is null. - No unit was found that is a subset of . - More than one unit was found that is a subset of . - - - - Gets an of that have that is a subset of . - - The to check against. - An of that have that is a subset of . - is null. - - - - - This is a specialization of , for when the unit type is known. - Typically you obtain this by looking it up statically from or - , or dynamically via . - - The unit enum type, such as . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quantity type was not found. This is typically thrown for dynamic conversions, - such as . - - - - - - - - - - - - - - Is the base class for all attributes that are related to - - - - - The unit enum type, such as - - - - - Initializes a new instance of the class. - - - - - - This attribute defines the default Unit to use if the string to convert only consists of digits - - - - - Initializes a new instance of the class. - - The unit the quantity gets when the string parsing dose only consist of digits - - - - This attribute defines the Unit the quantity is converted to after it has been parsed. - - - - - Initializes a new instance of the class. - - The unit the quantity is converted to when parsing from string - - - - This attribute defines the unit the quantity has when converting to string - - - - - The formating used when the quantity is converted to string. See - - - - - Initializes a new instance of the class. - - The unit the quantity should be displayed in - Formating string - - - - - Converts between IQuantity and string. - Implements a TypeConverter for IQuantitys. This allows eg the PropertyGrid to read and write properties of type IQuantity. - - For basic understanding of TypeConverters consult the .NET documentation. - - Quantity value type, such as or . - - - When a string is converted a Quantity the unit given by the string is used. - When no unit is given by the string the base unit is used. - The base unit can be overwritten by use of the . - The converted Quantity can be forced to be in a certain unit by use of the . - - - The displayed unit can be forced to a certain unit by use of the . - The provides the possibility to format the displayed Quantity. - - - - These examples show how to use this TypeConverter. - - - [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] - Units.Length PropertyName { get; set; } - - - - [DisplayAsUnit(UnitsNet.Units.LengthUnit.Meter)] - [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] - Units.Length Length { get; set; } - - - - [DisplayAsUnit(UnitsNet.Units.LengthUnit.Meter, "g")] - [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] - Units.Length Length { get; set; } - - - - [ConvertToUnitAttribute(UnitsNet.Units.LengthUnit.Meter)] - [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] - Units.Length Length { get; set; } - - - - [DefaultUnitAttribute(UnitsNet.Units.LengthUnit.Meter)] - [TypeConverter(typeof(UnitsNetTypeConverter{Length}))] - Units.Length Length { get; set; } - - - - - - Returns true if sourceType if of type - - An that provides a format context. - A that represents the type you want to convert from. - true if this converter can perform the conversion; otherwise, false. - - - - Converts the given object, when it is of type to the type of this converter, using the specified context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - The System.Globalization.CultureInfo to use as the current culture. - The System.Object to convert. - An object. - The conversion cannot be performed. - Unit value is not a know unit enum type. - - - Returns true whether this converter can convert the to string, using the specified context. - true if this converter can perform the conversion; otherwise, false. - An that provides a format context. - A that represents the type you want to convert to. - - - Converts the given object to , using the specified context and culture information. - An that represents the converted value. - An that provides a format context. - A . If null is passed, the current culture is assumed. - The to convert. - The to convert the parameter to. - The parameter is null. - The conversion cannot be performed. - - - - A type that supports implicit cast from all .NET numeric types, in order to avoid a large number of overloads - and binary size for all From(value, unit) factory methods, for each of the 700+ units in the library. - stores the value internally with the proper type to preserve the range or precision of the original value: - - for [byte, short, int, long, float, double] - for [decimal] to preserve the 128-bit precision - - - - At the time of this writing, this reduces the number of From(value, unit) overloads to 1/4th: - From 8 (int, long, double, decimal + each nullable) down to 2 (QuantityValue and QuantityValue?). - This also adds more numeric types with no extra overhead, such as float, short and byte. - - - - - Value assigned when implicitly casting from all numeric types except , since - has the greatest range and is 64 bits versus 128 bits for . - - - - - Value assigned when implicitly casting from type, since it has a greater precision than - and we want to preserve that when constructing quantities that use - as their value type. - - - - Implicit cast from to . - - - Implicit cast from to . - - - Implicit cast from to . - - - Implicit cast from to . - - - Implicit cast from to . - - - Implicit cast from to . - - - Implicit cast from to . - - - Explicit cast from to . - - - Explicit cast from to . - - - Returns the string representation of the numeric value. - - - - - - - - - - - - - - - - - - - Utility class for formatting units and values. - - - - - Gets the default ToString format for the specified value. - - The value to format. - - The number of digits after the radix point to display in the formatted - string. - - A ToString format for the specified value. - - - - Gets ToString format arguments. - - The type of units to format. - The units - The unit value to format. - The current culture. - The list of format arguments. - An array of ToString format arguments. - - - - Information about the unit, such as its name and value. - This is useful to enumerate units and present names with quantities and units - chosen dynamically at runtime, such as unit conversion apps or allowing the user to change the - unit representation. - - - Typically you obtain this by looking it up via . - - - - - Creates an instance of the UnitInfo class. - - The enum value for this class, for example . - The for this unit. - - - - The enum value of the unit, such as [, - , , ...]. - - - - - The name of the unit, such as ["Centimeter", "Decimeter", "Meter", ...]. - - - - - Gets the for this unit. - - - - - - This is a specialization of , for when the unit type is known. - Typically you obtain this by looking it up statically from or - or dynamically via . - - The unit enum type, such as . - - - - - - - - - - A set of extension methods for some of the most common Math operations, such as Min, Max, Sum and Average - - - - Returns the absolute value of a . - - A quantity with a value that is greater than or equal to , - but less than or equal to . - - A quantity with a value, such that 0 ≤ value ≤ . - - - Computes the sum of a sequence of values. - A sequence of values to calculate the sum of. - The desired unit type for the resulting quantity - The sum of the values in the sequence, represented in the specified unit type. - - source is null. - - - source contains quantity types different from . - - - - - Computes the sum of the sequence of values that are obtained by invoking a - transform function on each element of the input sequence. - - A sequence of values that are used to calculate a sum. - A transform function to apply to each element. - The desired unit type for the resulting quantity - The type of the elements of source. - The type of quantity that is produced by this operation - The sum of the projected values, represented in the specified unit type. - - source or selector is null. - - - source contains quantity types different from . - - - - Returns the smaller of two values. - The type of quantities to compare. - The first of two values to compare. - The second of two values to compare. - Parameter or , whichever is smaller. - - - Computes the min of a sequence of values. - A sequence of values to calculate the min of. - The desired unit type for the resulting quantity - The min of the values in the sequence, represented in the specified unit type. - - source is null. - - source contains no elements. - - source contains quantity types different from . - - - - - Computes the min of the sequence of values that are obtained by invoking a - transform function on each element of the input sequence. - - A sequence of values that are used to calculate a min. - A transform function to apply to each element. - The desired unit type for the resulting quantity - The type of the elements of source. - The type of quantity that is produced by this operation - The min of the projected values, represented in the specified unit type. - - source or selector is null. - - source contains no elements. - - source contains quantity types different from . - - - - Returns the larger of two values. - The type of quantities to compare. - The first of two values to compare. - The second of two values to compare. - Parameter or , whichever is larger. - - - Computes the max of a sequence of values. - A sequence of values to calculate the max of. - The desired unit type for the resulting quantity - The max of the values in the sequence, represented in the specified unit type. - - source is null. - - source contains no elements. - - source contains quantity types different from . - - - - - Computes the max of the sequence of values that are obtained by invoking a - transform function on each element of the input sequence. - - A sequence of values that are used to calculate a max. - A transform function to apply to each element. - The desired unit type for the resulting quantity - The type of the elements of source. - The type of quantity that is produced by this operation - The max of the projected values, represented in the specified unit type. - - source or selector is null. - - source contains no elements. - - source contains quantity types different from . - - - - Computes the average of a sequence of values. - A sequence of values to calculate the average of. - The desired unit type for the resulting quantity - The average of the values in the sequence, represented in the specified unit type. - - source is null. - - source contains no elements. - - source contains quantity types different from . - - - - - Computes the average of the sequence of values that are obtained by invoking - a transform function on each element of the input sequence. - - A sequence of values that are used to calculate an average. - A transform function to apply to each element. - The desired unit type for the resulting quantity - The type of the elements of source. - The type of quantity that is produced by this operation - The average of the projected values, represented in the specified unit type. - - source or selector is null. - - source contains no elements. - - source contains quantity types different from . - - - - - Unit was not found. This is typically thrown for dynamic conversions, - such as . - - - - - - - - - - - - - - The base type for UnitsNet exceptions. - - - - - - - - - - - - - - A unit system defined by a combination of base units. - This is typically used to define the "working units" for consistently creating and presenting quantities in the selected base units, - such as to use SI base units such as meters, kilograms and seconds. - - - - - Creates an instance of a unit system with the specified base units. - - The base units for the unit system. - - - - - - - - - - Checks if this instance is equal to another. - - The left instance. - The right instance. - True if equal, otherwise false. - - - - - Checks if this instance is equal to another. - - The left instance. - The right instance. - True if equal, otherwise false. - - - - - - - - The base units of this unit system. - - - - - Gets the SI unit system. - - - - diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.engine.api.dll b/UnitTestGhSA/bin/x64/Debug/nunit.engine.api.dll deleted file mode 100644 index 4b90f1711e9fc8f3826dd0463b20efd6d6176645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 O-!k^Uh5x6uz`p_OkO1}o diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.engine.core.dll b/UnitTestGhSA/bin/x64/Debug/nunit.engine.core.dll deleted file mode 100644 index 4fd9b088d87e3216672d49ca05eba0efadaa27c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94208 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 z 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 Av;Y7A diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.engine.dll b/UnitTestGhSA/bin/x64/Debug/nunit.engine.dll deleted file mode 100644 index 42b9e1b4a443e72c55091483fe3983c0a506b1fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54272 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 C+-3;? diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.framework.dll b/UnitTestGhSA/bin/x64/Debug/nunit.framework.dll deleted file mode 100644 index 8ba4628d425db69f2fde47427c721770360e91f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394240 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%0ASo6DMmSX>3&j~AV|TA0 zMwX7*anN%y7q1w8WF1R^If3kJ4hh{*THp}dmP@gK>YD^rMEVx5{eCE3!PrsLBFM;)=lqLyl>z5J%(S-ZB_abX71 zN`0a5l!680{g9M?lDWgAl1?!?IJ3epbFqS%@<)SwZ9 zx);`vUYWFZL8K#J>=kawJAODVK$1{DF9p`r&>+q1ZO2%>xvo)$gqU97QlhW6o8byo zGTQMxl!-Y;w(O)mvmm&el1v<4T2N2iq{aByy_nI!=VBV87tmyU2r&d=?1t}#PUF1V zjpU+9H^=L|ZP@F*{mAvaGRsZG8Ss z&HlDlmVUue@GHVd>@->Q>lDtQNG@_(yg-k-V@q#OE5ENVJl^;Gr16%0AGqN??zWzu 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 Ke}DTR@P7a@ij!9W diff --git a/UnitTestGhSA/bin/x64/Debug/nunit.framework.xml b/UnitTestGhSA/bin/x64/Debug/nunit.framework.xml deleted file mode 100644 index e8718287c..000000000 --- a/UnitTestGhSA/bin/x64/Debug/nunit.framework.xml +++ /dev/null @@ -1,20670 +0,0 @@ - - - - nunit.framework - - - -

    - The different targets a test action attribute can be applied to - - - - - Default target, which is determined by where the action attribute is attached - - - - - Target a individual test case - - - - - Target a suite of test cases - - - - - DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite - containing test fixtures present in the assembly. - - - - - The default suite builder used by the test assembly builder. - - - - - Initializes a new instance of the class. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - Build a suite of tests given the name or the location of an assembly - - The name or the location of the assembly. - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - FrameworkController provides a facade for use in loading, browsing - and running tests without requiring a reference to the NUnit - framework. All calls are encapsulated in constructors for - this class and its nested classes, which only require the - types of the Common Type System as arguments. - - The controller supports four actions: Load, Explore, Count and Run. - They are intended to be called by a driver, which should allow for - proper sequencing of calls. Load must be called before any of the - other actions. The driver may support other actions, such as - reload on run, by combining these calls. - - - - - Construct a FrameworkController using the default builder and runner. - - The AssemblyName or path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController using the default builder and runner. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The full AssemblyName or the path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Gets the ITestAssemblyBuilder used by this controller instance. - - The builder. - - - - Gets the ITestAssemblyRunner used by this controller instance. - - The runner. - - - - Gets the AssemblyName or the path for which this FrameworkController was created - - - - - Gets the Assembly for which this - - - - - Gets a dictionary of settings for the FrameworkController - - - - - Loads the tests in the assembly - - - - - - Returns info about the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of exploring the tests - - - - Runs the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly synchronously reporting back the test results through the callback - or through the return value - - The callback that receives the test results - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly asynchronously reporting back the test results through the callback - - The callback that receives the test results - A string containing the XML representation of the filter to use - - - - Stops the test run - - True to force the stop, false for a cooperative stop - - - - Counts the number of test cases in the loaded TestSuite - - A string containing the XML representation of the filter to use - The number of tests - - - - Inserts environment element - - Target node - The new node - - - - Inserts settings element - - Target node - Settings dictionary - The new node - - - - FrameworkControllerAction is the base class for all actions - performed against a FrameworkController. - - - - - LoadTestsAction loads a test into the FrameworkController - - - - - LoadTestsAction loads the tests in an assembly. - - The controller. - The callback handler. - - - - ExploreTestsAction returns info about the tests in an assembly - - - - - Initializes a new instance of the class. - - The controller for which this action is being performed. - Filter used to control which tests are included (NYI) - The callback handler. - - - - CountTestsAction counts the number of test cases in the loaded TestSuite - held by the FrameworkController. - - - - - Construct a CountsTestAction and perform the count of test cases. - - A FrameworkController holding the TestSuite whose cases are to be counted - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunTestsAction runs the loaded TestSuite held by the FrameworkController. - - - - - Construct a RunTestsAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunAsyncAction initiates an asynchronous test run, returning immediately - - - - - Construct a RunAsyncAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - StopRunAction stops an ongoing run. - - - - - Construct a StopRunAction and stop any ongoing run. If no - run is in process, no error is raised. - - The FrameworkController for which a run is to be stopped. - True the stop should be forced, false for a cooperative stop. - >A callback handler used to report results - A forced stop will cause threads and processes to be killed as needed. - - - - The ITestAssemblyBuilder interface is implemented by a class - that is able to build a suite of tests given an assembly or - an assembly filename. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - Build a suite of tests given the filename of an assembly - - The filename of the assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - The ITestAssemblyRunner interface is implemented by classes - that are able to execute a suite of tests loaded - from an assembly. - - - - - Gets the tree of loaded tests, or null if - no tests have been loaded. - - - - - Gets the tree of test results, if the test - run is completed, otherwise null. - - - - - Indicates whether a test has been loaded - - - - - Indicates whether a test is currently running - - - - - Indicates whether a test run is complete - - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - File name of the assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - The assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive ITestListener notifications. - A test filter used to select tests to be run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any test-running threads - - - - Implementation of ITestAssemblyRunner - - - - - Initializes a new instance of the class. - - The builder. - - - - Gets the default level of parallel execution (worker threads) - - - - - The tree of tests that was loaded by the builder - - - - - The test result, if a run has completed - - - - - Indicates whether a test is loaded - - - - - Indicates whether a test is running - - - - - Indicates whether a test run is complete - - - - - Our settings, specified when loading the assembly - - - - - The top level WorkItem created for the assembly as a whole - - - - - The TestExecutionContext for the top level WorkItem - - - - - Loads the tests found in an Assembly - - File name or path of the assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Loads the tests found in an Assembly - - The assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - The test results from the run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - RunAsync is a template method, calling various abstract and - virtual methods to be overridden by derived classes. - - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any tests that are currently running - - - - Initiate the test run. - - - - - Create the initial TestExecutionContext used to run tests - - The ITestListener specified in the RunAsync call - - - - Handle the Completed event for the top level work item - - - - - Executes the action within an - which ensures the is cleaned up - suitably at the end of the test run. This method only has an effect running - the full .NET Framework. - - - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - - - - Asserts that a condition is false. If the condition is true the method throws - an . - - The evaluated condition - - - - Verifies that the object that is passed in is not equal to null - If the object is null then an - is thrown. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to null - If the object is null then an - is thrown. - - The object that is to be tested - - - - Verifies that the object that is passed in is not equal to null - If the object is null then an - is thrown. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to null - If the object is null then an - is thrown. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to null - If the object is not null then an - is thrown. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to null - If the object is not null then an - is thrown. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to null - If the object is not null then an - is thrown. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to null - If the object is not null then an - is thrown. - - The object that is to be tested - - - - Verifies that the double that is passed in is an NaN value. - If the object is not NaN then an - is thrown. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. - If the object is not NaN then an - is thrown. - - The value that is to be tested - - - - Verifies that the double that is passed in is an NaN value. - If the object is not NaN then an - is thrown. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. - If the object is not NaN then an - is thrown. - - The value that is to be tested - - - - Assert that a string is empty - that is equal to string.Empty - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is empty - that is equal to string.Empty - - The string to be tested - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing ICollection - - - - Assert that a string is not empty - that is not equal to string.Empty - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is not empty - that is not equal to string.Empty - - The string to be tested - - - - Assert that an array, list or other collection is not empty - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is not empty - - An array, list or other collection implementing ICollection - - - - Asserts that an int is zero. - - The number to be examined - - - - Asserts that an int is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is zero. - - The number to be examined - - - - Asserts that an unsigned int is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is zero. - - The number to be examined - - - - Asserts that a Long is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is zero. - - The number to be examined - - - - Asserts that an unsigned Long is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. - - The number to be examined - - - - Asserts that a decimal is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. - - The number to be examined - - - - Asserts that a double is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. - - The number to be examined - - - - Asserts that a float is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is not zero. - - The number to be examined - - - - Asserts that an int is not zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is not zero. - - The number to be examined - - - - Asserts that an unsigned int is not zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is not zero. - - The number to be examined - - - - Asserts that a Long is not zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is not zero. - - The number to be examined - - - - Asserts that an unsigned Long is not zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. - - The number to be examined - - - - Asserts that a decimal is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. - - The number to be examined - - - - Asserts that a double is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. - - The number to be examined - - - - Asserts that a float is zero. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is positive. - - The number to be examined - - - - Asserts that an int is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is positive. - - The number to be examined - - - - Asserts that an unsigned int is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is positive. - - The number to be examined - - - - Asserts that a Long is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is positive. - - The number to be examined - - - - Asserts that an unsigned Long is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is positive. - - The number to be examined - - - - Asserts that a decimal is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is positive. - - The number to be examined - - - - Asserts that a double is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is positive. - - The number to be examined - - - - Asserts that a float is positive. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is negative. - - The number to be examined - - - - Asserts that an int is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is negative. - - The number to be examined - - - - Asserts that an unsigned int is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is negative. - - The number to be examined - - - - Asserts that a Long is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is negative. - - The number to be examined - - - - Asserts that an unsigned Long is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is negative. - - The number to be examined - - - - Asserts that a decimal is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is negative. - - The number to be examined - - - - Asserts that a double is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is negative. - - The number to be examined - - - - Asserts that a float is negative. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - DO NOT USE! Use Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - - - - Throws an with the message and arguments - that are passed in. This is used by the other Assert functions. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This is used by the other Assert functions. - - The message to initialize the with. - - - - Throws an . - This is used by the other Assert functions. - - - - - Issues a warning using the message and arguments provided. - - The message to display. - Arguments to be used in formatting the message - - - - Issues a warning using the message provided. - - The message to display. - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as ignored. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as Inconclusive. - - - - - Asserts that an object is contained in a collection. - - The expected object - The collection to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is contained in a collection. - - The expected object - The collection to be examined - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - Verifies that two doubles are equal considering a delta. If the - expected value is infinity then the delta value is ignored. If - they are not equal then an is - thrown. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the - expected value is infinity then the delta value is ignored. If - they are not equal then an is - thrown. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - - - - Verifies that two doubles are equal considering a delta. If the - expected value is infinity then the delta value is ignored. If - they are not equal then an is - thrown. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the - expected value is infinity then the delta value is ignored. If - they are not equal then an is - thrown. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - - - - Verifies that two objects are equal. Two objects are considered - equal if both are null, or if both have the same value. NUnit - has special semantics for some object types. - If they are not equal an is thrown. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are equal. Two objects are considered - equal if both are null, or if both have the same value. NUnit - has special semantics for some object types. - If they are not equal an is thrown. - - The value that is expected - The actual value - - - - Verifies that two objects are not equal. Two objects are considered - equal if both are null, or if both have the same value. NUnit - has special semantics for some object types. - If they are equal an is thrown. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are not equal. Two objects are considered - equal if both are null, or if both have the same value. NUnit - has special semantics for some object types. - If they are equal an is thrown. - - The value that is expected - The actual value - - - - Asserts that two objects refer to the same object. If they - are not the same an is thrown. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects refer to the same object. If they - are not the same an is thrown. - - The expected object - The actual object - - - - Asserts that two objects do not refer to the same object. If they - are the same an is thrown. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects do not refer to the same object. If they - are the same an is thrown. - - The expected object - The actual object - - - - Helper for Assert.AreEqual(double expected, double actual, ...) - allowing code generation to work consistently. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that an async delegate throws a particular exception when called. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. - - The exception Type expected - A TestDelegate - - - - Verifies that an async delegate throws a particular exception when called. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. - - Type of the expected exception - A TestDelegate - - - - Verifies that an async delegate throws an exception when called - and returns it. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception when called - and returns it. - - A TestDelegate - - - - Verifies that an async delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - The expected Exception Type - A TestDelegate - - - - Verifies that an async delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - A TestDelegate - - - - Verifies that an async delegate does not throw an exception - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate does not throw an exception. - - A TestDelegate - - - - Verifies that a delegate throws a particular exception when called. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that a delegate throws a particular exception when called. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. - - The exception Type expected - A TestDelegate - - - - Verifies that a delegate throws a particular exception when called. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. - - Type of the expected exception - A TestDelegate - - - - Verifies that a delegate throws an exception when called - and returns it. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception when called - and returns it. - - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - The expected Exception Type - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type - or one derived from it when called and returns it. - - A TestDelegate - - - - Verifies that a delegate does not throw an exception - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate does not throw an exception. - - A TestDelegate - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - Used as a synonym for That in rare cases where a private setter - causes a Visual Basic compilation error. - - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - Used as a synonym for That in rare cases where a private setter - causes a Visual Basic compilation error. - - - This method is provided for use by VB developers needing to test - the value of properties with private setters. - - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. - - The expected Type. - The object under examination - - - - Asserts that an object may be assigned a value of a given Type. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. - - The expected Type. - The object under examination - - - - Asserts that an object is an instance of a given type. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. - - The expected Type - The object being examined - - - - Asserts that an object is an instance of a given type. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. - - The expected Type - The object being examined - - - - Delegate used by tests that execute code and - capture any thrown exception. - - - - - Delegate used by tests that execute async code and - capture any thrown exception. - - - - - AssertionHelper is an optional base class for user tests, - allowing the use of shorter names in making asserts. - - - - - Asserts that a condition is true. If the condition is false the method throws - an . Works Identically to - . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . Works Identically to . - - The evaluated condition - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - An ActualValueDelegate returning the value to be tested - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Returns a ListMapper based on a collection. - - The original collection - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that fails if the actual - value matches the pattern supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Provides static methods to express the assumptions - that must be met for a test to give a meaningful - result. If an assumption is not met, the test - should produce an inconclusive result. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the - method throws an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A ThrowsConstraint used in the test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Marks a test as needing to be run in a particular threading apartment state. This will cause it - to run in a separate thread if necessary. - - - - - Construct an ApartmentAttribute - - The apartment state that this test must be run under. You must pass in a valid apartment state. - - - - Provides the author of a test or test fixture. - - - - - Initializes a new instance of the class. - - The name of the author. - - - - Initializes a new instance of the class. - - The name of the author. - The email address of the author. - - - - Applies a category to a test - - - - - The name of the category - - - - - Construct attribute for a given category based on - a name. The name may not contain the characters ',', - '+', '-' or '!'. However, this is not checked in the - constructor since it would cause an error to arise at - as the test was loaded without giving a clear indication - of where the problem is located. The error is handled - in NUnitFramework.cs by marking the test as not - runnable. - - The name of the category - - - - Protected constructor uses the Type name as the name - of the category. - - - - - The name of the category - - - - - Modifies a test by adding a category to it. - - The test to modify - - - - Marks a test to use a combinatorial join of any argument data provided. - Since this is the default, the attribute is optional. - - - - - Default constructor - - - - - Marks a test as using a particular CombiningStrategy to join any supplied parameter data. - Since this is the default, the attribute is optional. - - - - - Construct a CombiningStrategyAttribute incorporating an - ICombiningStrategy and an IParameterDataProvider. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Construct a CombiningStrategyAttribute incorporating an object - that implements ICombiningStrategy and an IParameterDataProvider. - This constructor is provided for CLS compliance. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Builds any number of tests from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Modify the test by adding the name of the combining strategy - to the properties. - - The test to modify - - - - Marks an assembly, test fixture or test method as applying to a specific Culture. - - - - - Constructor with no cultures specified, for use - with named property syntax. - - - - - Constructor taking one or more cultures - - Comma-delimited list of cultures - - - - Causes a test to be skipped if this CultureAttribute is not satisfied. - - The test to modify - - - - Tests to determine if the current culture is supported - based on the properties of this attribute. - - True, if the current culture is supported - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Abstract base class for all data-providing attributes defined by NUnit. - Used to select all data sources for a method, class or parameter. - - - - - Default constructor - - - - - Marks a field for use as a datapoint when executing a theory within - the same fixture that requires an argument of the field's Type. - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument of - the provided Type. The data source may provide an array of the required Type - or an . Synonymous with . - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument - of the provided type. The data source may provide an array of the required - Type or an . Synonymous with . - - - - - Sets the tolerance used by default when checking the equality of floating point values - within the test assembly, fixture or method. - - - - - Construct specifying an amount - - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Provides the descriptive text relating to the assembly, test fixture or test method. - - - - - Construct a description Attribute - - The text of the description - - - - Marks an assembly, test fixture or test method such that it will only run if explicitly - executed from the GUI, command line or included within a test filter. - The test will not be run simply because an enclosing suite is run. - - - - - Default constructor - - - - - Constructor with a reason - - The reason test is marked explicit - - - - Modifies a test by marking it as explicit. - - The test to modify - - - - Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. - - - - - Constructs the attribute giving a reason for ignoring the test - - The reason for ignoring the test - - - - The date in the future to stop ignoring the test as a string in UTC time. - For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, - "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. - - - Once the ignore until date has passed, the test will be marked - as runnable. Tests with an ignore until date will have an IgnoreUntilDate - property set which will appear in the test results. - - The string does not contain a valid string representation of a date and time. - - - - Modifies a test by marking it as Ignored. - - The test to modify - - - - Abstract base for attributes that are used to include tests in - the test run based on environmental settings. - - - - - Constructor with no included items specified, for use - with named property syntax. - - - - - Constructor taking one or more included items - - Comma-delimited list of included items - - - - Name of the item that is needed in order for - a test to run. Multiple items may be given, - separated by a comma. - - - - - Name of the item to be excluded. Multiple items - may be given, separated by a comma. - - - - - The reason for including or excluding the test - - - - - Sets the number of worker threads that may be allocated by the framework - for running tests. - - - - - Construct a LevelOfParallelismAttribute. - - The number of worker threads to be created by the framework. - - - - Specifies the maximum time (in milliseconds) for a test case to succeed. - - - - - Construct a MaxTimeAttribute, given a time in milliseconds. - - The maximum elapsed time in milliseconds - - - - Marks tests that should NOT be run in parallel. - - - - - Construct a NonParallelizableAttribute. - - - - - Used by third-party frameworks, or other software, that reference - the NUnit framework but do not contain any tests. Applying the - attribute indicates that the assembly is not a test assembly and - may prevent errors if certain runners attempt to load the assembly. - Note that recognition of the attribute depends on each individual runner. - - - - - Abstract base class for all custom attributes defined by NUnit. - - - - - Default constructor - - - - - Identifies a method that is called once to perform setup before any child tests are run. - - - - - Identifies a method to be called once after all the child tests have run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - Marks a test as using a pairwise join of any supplied argument data. Arguments will be - combined in such a way that all possible pairs of arguments are used. - - - - - Default constructor - - - - - Marks a test assembly, fixture or method that may be run in parallel. - - - - - Construct a ParallelizableAttribute using default ParallelScope.Self. - - - - - Construct a ParallelizableAttribute with a specified scope. - - The ParallelScope associated with this attribute. - - - - Defines the degree to which this test and its descendants may be run in parallel - - - - - Overridden to check for invalid combinations of settings - - - - - - Modify the context to be used for child tests - - The current TestExecutionContext - - - - Specifies the degree to which a test, and its descendants, - may be run in parallel. - - - - - No ParallelScope was specified on the test - - - - - The test may be run in parallel with others at the same level. - Valid on classes and methods but has no effect on assemblies. - - - - - Test may not be run in parallel with any others. Valid on - classes and methods but not assemblies. - - - - - Mask used to extract the flags that apply to the item on which a - ParallelizableAttribute has been placed, as opposed to descendants. - - - - - Descendants of the test may be run in parallel with one another. - Valid on assemblies and classes but not on non-parameterized methods. - - - - - Descendants of the test down to the level of TestFixtures may be - run in parallel with one another. Valid on assemblies and classes - but not on methods. - - - - - Mask used to extract all the flags that impact descendants of a - test and place them in the TestExecutionContext. - - - - - The test and its descendants may be run in parallel with others at - the same level. Valid on classes and parameterized methods. - For assemblies it is recommended to use - instead, as has no effect on assemblies. - - - - - Marks an assembly, test fixture or test method as applying to a specific platform. - - - - - Constructor with no platforms specified, for use - with named property syntax. - - - - - Constructor taking one or more platforms - - Comma-delimited list of platforms - - - - Causes a test to be skipped if this PlatformAttribute is not satisfied. - - The test to modify - - - - Attaches information to a test assembly, fixture or method as a name/value pair. - - - - - Construct a PropertyAttribute with a name and string value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and int value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and double value - - The name of the property - The property value - - - - Constructor for derived classes that set the - property dictionary directly. - - - - - Constructor for use by derived classes that use the - name of the type as the property name. Derived classes - must ensure that the Type of the property value is - a standard type supported by the BCL. Any custom - types will cause a serialization Exception when - in the client. - - - - - Gets the property dictionary for this attribute - - - - - Modifies a test by adding properties to it. - - The test to modify - - - - Supplies a set of random values to a single parameter of a parameterized test. - - - - - If true, no value will be repeated. - - - - - Construct a random set of values appropriate for the Type of the - parameter on which the attribute appears, specifying only the count. - - - - - - Construct a set of ints within a specified range - - - - - Construct a set of unsigned ints within a specified range - - - - - Construct a set of longs within a specified range - - - - - Construct a set of unsigned longs within a specified range - - - - - Construct a set of shorts within a specified range - - - - - Construct a set of unsigned shorts within a specified range - - - - - Construct a set of doubles within a specified range - - - - - Construct a set of floats within a specified range - - - - - Construct a set of bytes within a specified range - - - - - Construct a set of sbytes within a specified range - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Supplies a range of values to an individual parameter of a parameterized test. - - - - - Construct a range of ints using default step of 1 - - - - - Construct a range of ints specifying the step size - - - - - Construct a range of unsigned ints using default step of 1 - - - - - Construct a range of unsigned ints specifying the step size - - - - - Construct a range of longs using a default step of 1 - - - - - Construct a range of longs - - - - - Construct a range of unsigned longs using default step of 1 - - - - - Construct a range of unsigned longs specifying the step size - - - - - Construct a range of doubles - - - - - Construct a range of floats - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - Returns a string that represents the current object. - - - - Specifies that a test should be run multiple times. - - - - - Construct a RepeatAttribute - - The number of times to run the test - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the RepeatAttribute - - - - - Initializes a new instance of the class. - - The inner command. - The number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test that must run on a separate thread. - - - - - Construct a RequiresThreadAttribute - - - - - Construct a RequiresThreadAttribute, specifying the apartment - - - - - Specifies that a test method should be rerun on failure up to the specified - maximum number of times. - - - - - Construct a - - The maximum number of times the test should be run if it fails - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the - - - - - Initializes a new instance of the class. - - The inner command. - The maximum number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test to use a sequential join of any provided argument data. - Arguments will be combined into test cases, taking the next value of - each argument until all are used. - - - - - Default constructor - - - - - Sets the current Culture on an assembly, test fixture or test method for - the duration of a test. The culture remains set until the test or fixture - completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Sets the current UI Culture on an assembly, test fixture or test method - for the duration of a test. The UI culture remains set until the test or - fixture completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Identifies a method to be called immediately before each test is run. - - - - - Identifies a class as containing or - methods for all the test fixtures - under a given namespace. - - - - - Builds a from the specified type. - - The type info of the fixture to be used. - - - - Marks a test fixture as requiring all child tests to be run on the - same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the - is set forcing all child tests - to be run sequentially on the current thread. - Any setting is ignored. - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Identifies a method to be called immediately after each test is run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Abstract attribute providing actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - - - - Marks a test assembly as needing a special assembly resolution hook that will - explicitly search the test assembly's directory for dependent assemblies. - This works around a conflict between mixed-mode assembly initialization and - tests running in their own AppDomain in some cases. - - - - - Marks the method as callable from the NUnit test runner. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Descriptive text for this test - - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the expected result. Not valid if the test - method has parameters. - - The result. - - - - Modifies a test by adding a description, if not already set. - - The test to modify - - - - Builds a single test from the specified method and context. - - The method for which a test is to be constructed. - The suite to which the test will be added. - - - - Marks a method as a parameterized test suite and provides arguments for each test case. - - - - - Construct a TestCaseAttribute with a list of arguments. - This constructor is not CLS-Compliant - - - - - - Construct a TestCaseAttribute with a single argument - - - - - - Construct a TestCaseAttribute with a two arguments - - - - - - - Construct a TestCaseAttribute with a three arguments - - - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test case. - - - - - Gets the list of arguments to a test case - - - - - Gets the properties of the test case - - - - - Gets or sets the expected result. - - The result. - - - - Returns true if the expected result has been set - - - - - Gets or sets the description. - - The description. - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the reason for ignoring the test - - - - - Gets or sets a value indicating whether this is explicit. - - - true if explicit; otherwise, false. - - - - - Gets or sets the reason for not running the test. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Comma-delimited list of platforms to run the test for - - - - - Comma-delimited list of platforms to not run the test for - - - - - Gets and sets the category for this test case. - May be a comma-separated list of categories. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The arguments to be converted - The ParameterInfo array for the method - - - - Builds a single test from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Indicates the source to be used to provide test fixture instances for a test class. - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a name - - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type - - The type that will provide data - - - - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - - The name of a the method, property or fiend to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of tests from the specified method and context. - - The IMethod for which tests are to be constructed. - The suite to which the tests will be added. - - - - Marks the class as a TestFixture. - - - - - Default constructor - - - - - Construct with a object[] representing a set of arguments. - The arguments may later be separated into type arguments and constructor arguments. - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test fixture. - - - - - The arguments originally provided to the attribute - - - - - Properties pertaining to this fixture - - - - - Get or set the type arguments. If not set - explicitly, any leading arguments that are - Types are taken as type arguments. - - - - - Descriptive text for this fixture - - - - - The author of this fixture - - - - - The type that this fixture is testing - - - - - Gets or sets the ignore reason. May set RunState as a side effect. - - The ignore reason. - - - - Gets or sets the reason for not running the fixture. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Gets or sets a value indicating whether this is explicit. - - - true if explicit; otherwise, false. - - - - - Gets and sets the category for this fixture. - May be a comma-separated list of categories. - - - - - Builds a single test fixture from the specified type. - - - - - Builds a single test fixture from the specified type. - - The type info of the fixture to be used. - Filter used to select methods as tests. - - - - Identifies the source used to provide test fixture instances for a test class. - - - - - Error message string is public so the tests can use it - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a Type - - The type that will provide data - - - - The name of a the method, property or fiend to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - PreFilter used to select methods as tests. - - - - Returns a set of ITestFixtureData items for use as arguments - to a parameterized test fixture. - - The type for which data is needed. - - - - - Indicates the method or class the assembly, test fixture or test method is testing. - - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Adding this attribute to a method within a - class makes the method callable from the NUnit test runner. There is a property - called Description which is optional which you can provide a more detailed test - description. This class cannot be inherited. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Construct the attribute, specifying a combining strategy and source of parameter data. - - - - - Applies a timeout in milliseconds to a test. - When applied to a method, the test is cancelled if the timeout is exceeded. - When applied to a class or assembly, the default timeout is set for all contained test methods. - - - - - Construct a TimeoutAttribute given a time in milliseconds - - The timeout value in milliseconds - - - - Provides literal arguments for an individual parameter of a test. - - - - - The collection of data to be returned. Must - be set by any derived attribute classes. - We use an object[] so that the individual - elements may have their type changed in GetData - if necessary - - - - - Constructs for use with an Enum parameter. Will pass every enum - value in to the test. - - - - - Construct with one argument - - - - - - Construct with two arguments - - - - - - - Construct with three arguments - - - - - - - - Construct with an array of arguments - - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - To generate data for Values attribute, in case no data is provided. - - - - - To Check if type is nullable enum. - - - - - Indicates the source used to provide data for one parameter of a test method. - - - - - Construct with the name of the factory - for use with languages - that don't support params arrays. - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - for use with languages - that don't support params arrays. - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - The name of a the method, property or fiend to be used as a source - - - - - A Type to be used as a source - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - A set of Assert methods operating on one or more collections - - - - - DO NOT USE! Use CollectionAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable containing objects to be considered - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - - - - AllItemsConstraint applies another constraint to each - item in a collection, succeeding if they all succeed. - - - - - Construct an AllItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - AndConstraint succeeds only if both members succeed. - - - - - Create an AndConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply both member constraints to an actual value, succeeding - succeeding only if both of them succeed. - - The actual value - True if the constraints both succeeded - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - is used to determine whether the value is equal to any of the expected values. - - - - - Construct a - - Collection of expected values - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether item is present in expected collection - - Actual item type - Actual item - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IEqualityComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - AssignableFromConstraint is used to test that an object - can be assigned from a given Type. - - - - - Construct an AssignableFromConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AssignableToConstraint is used to test that an object - can be assigned to a given Type. - - - - - Construct an AssignableToConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AttributeConstraint tests that a specified attribute is present - on a Type or other provider and that the value of the attribute - satisfies some other constraint. - - - - - Constructs an AttributeConstraint for a specified attribute - Type and base constraint. - - - - - - - Determines whether the Type or other provider has the - expected attribute and if its value matches the - additional constraint specified. - - - - - Returns a string representation of the constraint. - - - - - AttributeExistsConstraint tests for the presence of a - specified attribute on a Type. - - - - - Constructs an AttributeExistsConstraint for a specific attribute Type - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Tests whether the object provides the expected attribute. - - A Type, MethodInfo, or other ICustomAttributeProvider - True if the expected attribute is present, otherwise false - - - - BinaryConstraint is the abstract base of all constraints - that combine two other constraints in some fashion. - - - - - The first constraint being combined - - - - - The second constraint being combined - - - - - Construct a BinaryConstraint from two other constraints - - The first constraint - The second constraint - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation - - - - - CollectionConstraint is the abstract base class for - constraints that operate on collections. - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Determines whether the specified enumerable is empty. - - The enumerable. - - true if the specified enumerable is empty; otherwise, false. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Protected method to be implemented by derived classes - - - - - - - CollectionContainsConstraint is used to test whether a collection - contains an expected object as a member. - - - - - Construct a CollectionContainsConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected item is contained in the collection - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionEquivalentConstraint is used to determine whether two - collections are equivalent. - - - - The result of the from the collections - under comparison. - - - Construct a CollectionEquivalentConstraint - Expected collection. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether two collections are equivalent - - - - - - - Test whether the collection is equivalent to the expected. - - - Actual collection type. - - - Actual collection to compare. - - - A indicating whether or not - the two collections are equivalent. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - Provides a for the . - - - Result of a of the collections to compare for equivalence. - - - Maximum amount of elements to write to the if there are - extra/missing elements from the collection. - - - Construct a using a . - Source . - Result of the collection comparison. - Actual collection to compare. - Whether or not the succeeded. - - - Write any additional lines (following Expected: and But was:) for a failing constraint. - The to write the failure message to. - - - - CollectionItemsEqualConstraint is the abstract base class for all - collection constraints that apply some notion of item equality - as a part of their operation. - - - - - The NUnitEqualityComparer in use for this constraint - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Get a flag indicating whether the user requested us to ignore case. - - - - - Get a flag indicating whether any external comparers are in use. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - Compares two collection members for equality - - - - - Return a new CollectionTally for use in making tests - - The collection to be included in the tally - - - - CollectionOrderedConstraint is used to test whether a collection is ordered. - - - - - Construct a CollectionOrderedConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - If used performs a default ascending comparison - - - - - If used performs a reverse comparison - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - Modifies the constraint to test ordering by the value of - a specified property and returns self. - - - - - Then signals a break between two ordering steps - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the collection is ordered - - - - - Returns the string representation of the constraint. - - - - - - An OrderingStep represents one stage of the sort - - - - - Constructor for success result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructor for failure result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - Index at which collection order breaks. - Value at which collection order breaks. - - - - CollectionSubsetConstraint is used to determine whether - one collection is a subset of another - - - - - Construct a CollectionSubsetConstraint - - The collection that the actual value is expected to be a subset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a subset of - the expected collection provided. - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionSupersetConstraint is used to determine whether - one collection is a superset of another - - - - - Construct a CollectionSupersetConstraint - - The collection that the actual value is expected to be a superset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a superset of - the expected collection provided. - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - counts (tallies) the number of occurrences - of each object in one or more enumerations. - - - The result of a . - - - Items that were not in the expected collection. - - - Items that were not accounted for in the expected collection. - - - Initializes a new instance of the class with the given fields. - - - The result of the comparison between the two collections. - - - Construct a CollectionTally object from a comparer and a collection. - The comparer to use for equality. - The expected collection to compare against. - - - Try to remove an object from the tally. - The object to remove. - - - Try to remove a set of objects from the tally. - The objects to remove. - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Interface for comparing two s. - - - - - Method for comparing two objects with a tolerance. - - The first object to compare. - The second object to compare. - The tolerance to use when comparing the objects. - Flag indicating whether or not this is the top level comparison. - - null if the objects cannot be compared using the method. - Otherwise the result of the comparison is returned. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s or s. - - - - - Comparator for two Tuples. - - - - - Base class for comparators for tuples (both regular Tuples and ValueTuples). - - - - - Comparator for two ValueTuples. - - - - - ComparisonAdapter class centralizes all comparisons of - values in NUnit, adapting to the use of any provided - , - or . - - - - - Gets the default ComparisonAdapter, which wraps an - NUnitComparer object. - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps a - - - - - Compares two objects - - - - - Construct a default ComparisonAdapter - - - - - Construct a ComparisonAdapter for an - - - - - Compares two objects - - - - - - - - ComparerAdapter extends and - allows use of an or - to actually perform the comparison. - - - - - Construct a ComparisonAdapter for an - - - - - Compare a Type T to an object - - - - - Construct a ComparisonAdapter for a - - - - - Compare a Type T to an object - - - - - Abstract base class for constraints that compare values to - determine if one is greater than, equal to or less than - the other. - - - - - The value against which a comparison is to be made - - - - - Tolerance used in making the comparison - - - - - ComparisonAdapter to be used in making the comparison - - - - - Initializes a new instance of the class. - - The value against which to make a comparison. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - A ConstraintResult - - - - Protected function overridden by derived class to actually perform the comparison - - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use a and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Set the tolerance for use in this comparison - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Provides standard description of what the constraint tests - based on comparison text. - - Describes the comparison being tested, throws - if null - Is thrown when null passed to a method - - - - Delegate used to delay evaluation of the actual value - to be used in evaluating a constraint - - - - - The Constraint class is the base of all built-in constraints - within NUnit. It provides the operator overloads used to combine - constraints. - - - - - Construct a constraint with optional arguments - - Arguments to be saved - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - Retrieves the value to be tested from an ActualValueDelegate. - The default implementation simply evaluates the delegate but derived - classes may override it to provide for delayed processing. - - An ActualValueDelegate - Delegate evaluation result - - - - Default override of ToString returns the constraint DisplayName - followed by any arguments within angle brackets. - - - - - - Returns the string representation of this constraint - - - - - This operator creates a constraint that is satisfied only if both - argument constraints are satisfied. - - - - - This operator creates a constraint that is satisfied if either - of the argument constraints is satisfied. - - - - - This operator creates a constraint that is satisfied if the - argument constraint is not satisfied. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending Or - to the current constraint. - - - - - Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. - - The delay, which defaults to milliseconds. - - - - - Returns a DelayedConstraint with the specified delay time - and polling interval. - - The delay in milliseconds. - The interval at which to test the constraint. - - - - - Resolves any pending operators and returns the resolved constraint. - - - - - ConstraintBuilder maintains the stacks that are used in - processing a ConstraintExpression. An OperatorStack - is used to hold operators that are waiting for their - operands to be reorganized. a ConstraintStack holds - input constraints as well as the results of each - operator applied. - - - - - OperatorStack is a type-safe stack for holding ConstraintOperators - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - true if empty; otherwise, false. - - - - Gets the topmost operator without modifying the stack. - - - - - Pushes the specified operator onto the stack. - - The operator to put onto the stack. - - - - Pops the topmost operator from the stack. - - The topmost operator on the stack - - - - ConstraintStack is a type-safe stack for holding Constraints - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - true if empty; otherwise, false. - - - - Pushes the specified constraint. As a side effect, - the constraint's Builder field is set to the - ConstraintBuilder owning this stack. - - The constraint to put onto the stack - - - - Pops this topmost constraint from the stack. - As a side effect, the constraint's Builder - field is set to null. - - The topmost constraint on the stack - - - - Initializes a new instance of the class. - - - - - Appends the specified operator to the expression by first - reducing the operator stack and then pushing the new - operator on the stack. - - The operator to push. - - - - Appends the specified constraint to the expression by pushing - it on the constraint stack. - - The constraint to push. - - - - Sets the top operator right context. - - The right context. - - - - Reduces the operator stack until the topmost item - precedence is greater than or equal to the target precedence. - - The target precedence. - - - - Resolves this instance, returning a Constraint. If the Builder - is not currently in a resolvable state, an exception is thrown. - - The resolved constraint - - - - Gets a value indicating whether this instance is resolvable. - - - true if this instance is resolvable; otherwise, false. - - - - - ConstraintExpression represents a compound constraint in the - process of being constructed from a series of syntactic elements. - - Individual elements are appended to the expression as they are - reorganized. When a constraint is appended, it is returned as the - value of the operation so that modifiers may be applied. However, - any partially built expression is attached to the constraint for - later resolution. When an operator is appended, the partial - expression is returned. If it's a self-resolving operator, then - a ResolvableConstraintExpression is returned. - - - - - The ConstraintBuilder holding the elements recognized so far - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the - class passing in a ConstraintBuilder, which may be pre-populated. - - The builder. - - - - Returns a string representation of the expression as it - currently stands. This should only be used for testing, - since it has the side-effect of resolving the expression. - - - - - - Appends an operator to the expression and returns the - resulting expression itself. - - - - - Appends a self-resolving operator to the expression and - returns a new ResolvableConstraintExpression. - - - - - Appends a constraint to the expression and returns that - constraint, which is associated with the current state - of the expression being built. Note that the constraint - is not reduced at this time. For example, if there - is a NotOperator on the stack we don't reduce and - return a NotConstraint. The original constraint must - be returned because it may support modifiers that - are yet to be applied. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a , which will - apply the following constraint to a collection of length one, succeeding - only if exactly one of them succeeds. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - With is currently a NOP - reserved for future use. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests if item is equal to zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - ConstraintStatus represents the status of a ConstraintResult - returned by a Constraint being applied to an actual value. - - - - - The status has not yet been set - - - - - The constraint succeeded - - - - - The constraint failed - - - - - An error occurred in applying the constraint (reserved for future use) - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - The status of the new ConstraintResult. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - - - - The actual value that was passed to the method. - - - - - Gets and sets the ResultStatus for this result. - - - - - True if actual value meets the Constraint criteria otherwise false. - - - - - Display friendly name of the constraint. - - - - - Description of the constraint may be affected by the state the constraint had - when was performed against the actual value. - - - - - Write the failure message to the MessageWriter provided - as an argument. The default implementation simply passes - the result and the actual value to the writer, which - then displays the constraint description and the value. - - Constraints that need to provide additional details, - such as where the error occurred, can override this. - - The MessageWriter on which to display the message - - - - Write some additional failure message. - - The MessageWriter on which to display the message - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - ContainsConstraint tests a whether a string contains a substring - or a collection contains an object. It postpones the decision of - which test to use until the type of the actual argument is known. - This allows testing whether a string is contained in a collection - or as a substring of another string using the same syntax. - - - - - Initializes a new instance of the class. - - The expected value contained within the string/collection. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Applies a delay to the match so that a match can be evaluated in the future. - - - - - Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawDelayInterval - - Parent DelayedConstraint on which delay interval dimension is required to be set - - - - Changes delay interval dimension to minutes - - - - - Changes delay interval dimension to seconds - - - - - Changes delay interval dimension to milliseconds - - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only setting the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithDimensionedDelayInterval - - Parent DelayedConstraint on which polling interval is required to be set - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only changing the time dimension of the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawPollingInterval - - Parent DelayedConstraint on which polling dimension is required to be set - - - - Changes polling interval dimension to minutes - - - - - Changes polling interval dimension to seconds - - - - - Changes polling interval dimension to milliseconds - - - - - Delay value store as an Interval object - - - - - Polling value stored as an Interval object - - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed - If the value of is less than 0 - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed, in milliseconds - The time interval used for polling, in milliseconds - If the value of is less than 0 - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - Test whether the constraint is satisfied by a delegate - - The delegate whose value is to be tested - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - Overridden to wait for the specified delay period before - calling the base constraint with the dereferenced value. - - A reference to the value to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - Adjusts a Timestamp by a given TimeSpan - - - - - - - - Returns the difference between two Timestamps as a TimeSpan - - - - - - - - DictionaryContainsKeyConstraint is used to test whether a dictionary - contains an expected object as a key. - - - - - Construct a DictionaryContainsKeyConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - DictionaryContainsValueConstraint is used to test whether a dictionary - contains an expected object as a value. - - - - - Construct a DictionaryContainsValueConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected value is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Provides a for the constraints - that are applied to each item in the collection - - - - - Constructs a for a particular - Only used for Failure - - The Constraint to which this result applies - The actual value to which the Constraint was applied - Actual item that does not match expected condition - Non matching item index - - - - Write constraint description, actual items, and non-matching item - - The MessageWriter on which to display the message - - - - EmptyCollectionConstraint tests whether a collection is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that the collection is empty - - - - - - - EmptyConstraint tests a whether a string or collection is empty, - postponing the decision about which test is applied until the - type of the actual argument is known. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyDirectoryConstraint is used to test that a directory is empty - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyStringConstraint tests whether a string is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EndsWithConstraint can test whether a string ends - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - EqualConstraint is able to compare an actual value with the - expected value provided in its constructor. Two objects are - considered equal if both are null, or if both have the same - value. NUnit has special semantics for some object types. - - - - - NUnitEqualityComparer used to test equality. - - - - - Initializes a new instance of the class. - - The expected value. - - - - Gets the tolerance for this comparison. - - - The tolerance. - - - - - Gets a value indicating whether to compare case insensitive. - - - true if comparing case insensitive; otherwise, false. - - - - - Gets a value indicating whether or not to clip strings. - - - true if set to clip strings otherwise, false. - - - - - Gets the failure points. - - - The failure points. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to suppress string clipping - and return self. - - - - - Flag the constraint to compare arrays as collections - and return self. - - - - - Flag the constraint to use a tolerance when determining equality. - - Tolerance value to be used - Self. - - - - Flags the constraint to include - property in comparison of two values. - - - Using this modifier does not allow to use the - constraint modifier. - - - - - Switches the .Within() modifier to interpret its tolerance as - a distance in representable values (see remarks). - - Self. - - Ulp stands for "unit in the last place" and describes the minimum - amount a given value can change. For any integers, an ulp is 1 whole - digit. For floating point values, the accuracy of which is better - for smaller numbers and worse for larger numbers, an ulp depends - on the size of the number. Using ulps for comparison of floating - point results instead of fixed tolerances is safer because it will - automatically compensate for the added inaccuracy of larger numbers. - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in days. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in hours. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in minutes. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in seconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in milliseconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in clock ticks. - - Self - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The boolean-returning delegate to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - The EqualConstraintResult class is tailored for formatting - and displaying the result of an EqualConstraint. - - - - - Construct an EqualConstraintResult - - - - - Write a failure message. Overridden to provide custom - failure messages for EqualConstraint. - - The MessageWriter to write to - - - - Display the failure information for two collections that did not match. - - The MessageWriter on which to display - The expected collection. - The actual collection - The depth of this failure in a set of nested collections - - - - Displays a single line showing the types and sizes of the expected - and actual collections or arrays. If both are identical, the value is - only shown once. - - The MessageWriter on which to display - The expected collection or array - The actual collection or array - The indentation level for the message line - - - - Displays a single line showing the point in the expected and actual - arrays at which the comparison failed. If the arrays have different - structures or dimensions, both values are shown. - - The MessageWriter on which to display - The expected array - The actual array - Index of the failure point in the underlying collections - The indentation level for the message line - - - - Display the failure information for two IEnumerables that did not match. - - The MessageWriter on which to display - The expected enumeration. - The actual enumeration - The depth of this failure in a set of nested collections - - - - EqualityAdapter class handles all equality comparisons - that use an , - or a . - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps an . - - - - - Returns an EqualityAdapter that uses a predicate function for items comparison. - - - - - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - Generic adapter requires objects of the specified type. - - - - - Returns an that wraps an . - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps a . - - - - - ExactCountConstraint applies another constraint to each - item in a collection, succeeding only if a specified - number of items succeed. - - - - - Construct a standalone ExactCountConstraint - - - - - - Construct an ExactCountConstraint on top of an existing constraint - - - - - - - Apply the item constraint to each item in the collection, - succeeding only if the expected number of items pass. - - The value to be tested - A ConstraintResult - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Contain the result of matching a against an actual value. - - - - - The maximum count of list elements that are shown on the constraint result - - - - - The count of matched items of the - - - - - A list with maximum count (+1) of items of the - (The maximum count is set in ) - - - - - Constructs a for a . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - Count of matched items of the - A list with maximum count (+1) of items of the - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - ExactTypeConstraint is used to test that an object - is of the exact type provided in the constructor - - - - - Construct an ExactTypeConstraint for a given Type - - The expected Type. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - ExceptionTypeConstraint is a special version of ExactTypeConstraint - used to provided detailed info about the exception thrown in - an error message. - - - - - Constructs an ExceptionTypeConstraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - FalseConstraint tests that the actual value is false - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - FileExistsConstraint is used to determine if a file exists - - - - - Initializes a new instance of the class. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - FileOrDirectoryExistsConstraint is used to determine if a file or directory exists - - - - - If true, the constraint will only check if files exist, not directories - - - - - If true, the constraint will only check if directories exist, not files - - - - - Initializes a new instance of the class that - will check files and directories. - - - - - Initializes a new instance of the class that - will only check files if ignoreDirectories is true. - - if set to true [ignore directories]. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - Helper routines for working with floating point numbers - - - The floating point comparison code is based on this excellent article: - https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ - - - "ULP" means Unit in the Last Place and in the context of this library refers to - the distance between two adjacent floating point numbers. IEEE floating point - numbers can only represent a finite subset of natural numbers, with greater - accuracy for smaller numbers and lower accuracy for very large numbers. - - - If a comparison is allowed "2 ulps" of deviation, that means the values are - allowed to deviate by up to 2 adjacent floating point values, which might be - as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. - - - - - Union of a floating point variable and an integer - - - The union's value as a floating point variable - - - The union's value as an integer - - - The union's value as an unsigned integer - - - Union of a double precision floating point variable and a long - - - The union's value as a double precision floating point variable - - - The union's value as a long - - - The union's value as an unsigned long - - - Compares two floating point values for equality - First floating point value to be compared - Second floating point value t be compared - - Maximum number of representable floating point values that are allowed to - be between the left and the right floating point values - - True if both numbers are equal or close to being equal - - - Floating point values can only represent a finite subset of natural numbers. - For example, the values 2.00000000 and 2.00000024 can be stored in a float, - but nothing between them. - - - This comparison will count how many possible floating point values are between - the left and the right number. If the number of possible values between both - numbers is less than or equal to maxUlps, then the numbers are considered as - being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - Compares two double precision floating point values for equality - First double precision floating point value to be compared - Second double precision floating point value t be compared - - Maximum number of representable double precision floating point values that are - allowed to be between the left and the right double precision floating point values - - True if both numbers are equal or close to being equal - - - Double precision floating point values can only represent a limited series of - natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 - can be stored in a double, but nothing between them. - - - This comparison will count how many possible double precision floating point - values are between the left and the right number. If the number of possible - values between both numbers is less than or equal to maxUlps, then the numbers - are considered as being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - - Tests whether a value is greater than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is greater than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Interface for all constraints - - - - - The display name of this Constraint for use by ToString(). - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - InstanceOfTypeConstraint is used to test that an object - is of the same type provided or derived from it. - - - - - Construct an InstanceOfTypeConstraint for the type provided - - The expected Type - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - Keeps track of an interval time which can be represented in - Minutes, Seconds or Milliseconds - - - - - Constructs a interval given an value in milliseconds - - - - - Gets Interval value represented as a TimeSpan object - - - - - Returns the interval with the current value as a number of minutes. - - - - - Returns the interval with the current value as a number of seconds. - - - - - Returns the interval with the current value as a number of milliseconds. - - - - - Is true for intervals created with a non-zero value - - - - - Returns a string that represents the current object. - - - A string that represents the current object. - - - - - IntervalUnit provides the semantics to the value stored in Interval class. - - - - - Unit representing an Interval in minutes - - - - - Unit representing an Interval in seconds - - - - - Unit representing an Interval in milliseconds - - - - - The IResolveConstraint interface is implemented by all - complete and resolvable constraints and expressions. - - - - - Return the top-level constraint for this expression - - - - - - An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. - - - - - Create a new instance of ItemsConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - - No-op property for readability. - - - - - Tests whether a value is less than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is less than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - MessageWriter is the abstract base for classes that write - constraint descriptions and messages in some form. The - class has separate methods for writing various components - of a message, allowing implementations to tailor the - presentation as needed. - - - - - Construct a MessageWriter given a culture - - - - - Abstract method to get the max line length - - - - - Method to write single line message with optional args, usually - written to precede the general failure message. - - The message to be written - Any arguments used in formatting the message - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The failing constraint result - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the Expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in locating the point where the strings differ - If true, the strings should be clipped to fit the line - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Custom value formatter function - - The value - - - - - Custom value formatter factory function - - The next formatter function - ValueFormatter - If the given formatter is unable to handle a certain format, it must call the next formatter in the chain - - - - Static methods used in creating messages - - - - - Static string used when strings are clipped - - - - - Formatting strings used for expected and actual values - - - - - Current head of chain of value formatters. Public for testing. - - - - - Add a formatter to the chain of responsibility. - - - - - - Formats text to represent a generalized value. - - The value - The formatted text - - - - Formats text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Returns the representation of a type as used in NUnitLite. - This is the same as Type.ToString() except for arrays, - which are displayed with their declared sizes. - - - - - - - Converts any control characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Converts any null characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Return the a string representation for a set of indices into an array - - Array of indices for which a string is needed - - - - Get an array of indices representing the point in a collection or - array corresponding to a single int index into the collection. - - The collection to which the indices apply - Index in the collection - Array of indices - - - - Clip a string to a given length, starting at a particular offset, returning the clipped - string with ellipses representing the removed parts - - The string to be clipped - The maximum permitted length of the result string - The point at which to start clipping - The clipped string - - - - Clip the expected and actual strings in a coordinated fashion, - so that they may be displayed together. - - - - - - - - - Shows the position two strings start to differ. Comparison - starts at the start index. - - The expected string - The actual string - The index in the strings at which comparison should start - Boolean indicating whether case should be ignored - -1 if no mismatch found, or the index where mismatch found - - - - NaNConstraint tests that the actual value is a double or float NaN - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test that the actual value is an NaN - - - - - - - NoItemConstraint applies another constraint to each - item in a collection, failing if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - NotConstraint negates the effect of some other constraint - - - - - Initializes a new instance of the class. - - The base constraint to be negated. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - NullConstraint tests that the actual value is null - - - - - Initializes a new instance of the class. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - The Numerics class contains common operations on numeric values. - - - - - Checks the type of the object, returning true if - the object is a numeric type. - - The object to check - true if the object is a numeric type - - - - Checks the type of the object, returning true if - the object is a floating point numeric type. - - The object to check - true if the object is a floating point numeric type - - - - Checks the type of the object, returning true if - the object is a fixed point numeric type. - - The object to check - true if the object is a fixed point numeric type - - - - Test two numeric values for equality, performing the usual numeric - conversions and using a provided or default tolerance. If the tolerance - provided is Empty, this method may set it to a default tolerance. - - The expected value - The actual value - A reference to the tolerance in effect - True if the values are equal - - - - Compare two numeric values, performing the usual numeric conversions. - - The expected value - The actual value - The relationship of the values to each other - - - - NUnitComparer encapsulates NUnit's default behavior - in comparing two objects. - - - - - Returns the default NUnitComparer. - - - - - Compares two objects - - - - - - - - NUnitEqualityComparer encapsulates NUnit's handling of - equality tests between objects. - - - - - If true, all string comparisons will ignore case - - - - - If true, arrays will be treated as collections, allowing - those of different dimensions to be compared - - - - - Comparison objects used in comparisons for some constraints. - - - - - List of points at which a failure occurred. - - - - - List of comparers used to compare pairs of objects. - - - - - Initializes a new instance of the class. - - - - - Returns the default NUnitEqualityComparer - - - - - Gets and sets a flag indicating whether case should - be ignored in determining equality. - - - - - Gets and sets a flag indicating that arrays should be - compared as collections, without regard to their shape. - - - - - Gets the list of external comparers to be used to - test for equality. They are applied to members of - collections, in place of NUnit's own logic. - - - - - Gets the list of failure points for the last Match performed. - The list consists of objects to be interpreted by the caller. - This generally means that the caller may only make use of - objects it has placed on the list at a particular depth. - - - - - Flags the comparer to include - property in comparison of two values. - - - Using this modifier does not allow to use the - modifier. - - - - - Compares two objects for equality within a tolerance. - - - - - FailurePoint class represents one point of failure - in an equality test. - - - - - The location of the failure - - - - - The expected value - - - - - The actual value - - - - - Indicates whether the expected value is valid - - - - - Indicates whether the actual value is valid - - - - - Represents a constraint that succeeds if all the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - they all succeed. - - - - - Operator that requires both its arguments to succeed - - - - - Construct an AndOperator - - - - - Apply the operator to produce an AndConstraint - - - - - Operator that tests for the presence of a particular attribute - on a type and optionally applies further tests to the attribute. - - - - - Construct an AttributeOperator for a particular Type - - The Type of attribute tested - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Abstract base class for all binary operators - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Gets the left precedence of the operator - - - - - Gets the right precedence of the operator - - - - - Abstract method that produces a constraint by applying - the operator to its left and right constraint arguments. - - - - - Abstract base for operators that indicate how to - apply a constraint to items in a collection. - - - - - Constructs a CollectionOperator - - - - - The ConstraintOperator class is used internally by a - ConstraintBuilder to represent an operator that - modifies or combines constraints. - - Constraint operators use left and right precedence - values to determine whether the top operator on the - stack should be reduced before pushing a new operator. - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - The syntax element preceding this operator - - - - - The syntax element following this operator - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Represents a constraint that succeeds if the specified - count of members of a collection match a base constraint. - - - - - Construct an ExactCountOperator for a specified count - - The expected count - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Represents a constraint that succeeds if none of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - none of them succeed. - - - - - Negates the test of the constraint it wraps. - - - - - Constructs a new NotOperator - - - - - Returns a NotConstraint applied to its argument. - - - - - Operator that requires at least one of its arguments to succeed - - - - - Construct an OrOperator - - - - - Apply the operator to produce an OrConstraint - - - - - PrefixOperator takes a single constraint and modifies - its action in some way. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Returns the constraint created by applying this - prefix to another constraint. - - - - - - - Operator used to test for the presence of a named Property - on an object and optionally apply further tests to the - value of that property. - - - - - Gets the name of the property to which the operator applies - - - - - Constructs a PropOperator for a particular named property - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Abstract base class for operators that are able to reduce to a - constraint whether or not another syntactic element follows. - - - - - Represents a constraint that succeeds if any of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - any of them succeed. - - - - - Operator that tests that an exception is thrown and - optionally applies further tests to the exception. - - - - - Construct a ThrowsOperator - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Represents a constraint that simply wraps the - constraint provided as an argument, without any - further functionality, but which modifies the - order of evaluation because of its precedence. - - - - - Constructor for the WithOperator - - - - - Returns a constraint that wraps its argument - - - - - OrConstraint succeeds if either member succeeds - - - - - Create an OrConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply the member constraints to an actual value, succeeding - succeeding as soon as one of them succeeds. - - The actual value - True if either constraint succeeded - - - - PathConstraint serves as the abstract base of constraints - that operate on paths and provides several helper methods. - - - - - Construct a PathConstraint for a give expected path - - The expected path - - - - Modifies the current instance to be case-sensitive - and returns it. - - - - - Returns the string representation of this constraint - - - - - Canonicalize the provided path - - - The path in standardized form - - - - Test whether one path in canonical form is a subpath of another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - - - - - Predicate constraint wraps a Predicate in a constraint, - returning success if the predicate is true. - - - - - Construct a PredicateConstraint from a predicate - - - - - Gets text describing a constraint - - - - - Determines whether the predicate succeeds when applied - to the actual value. - - - - - Abstract base class used for prefixes - - - - - The base constraint - - - - - Prefix used in forming the constraint description - - - - - Construct given a base constraint - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Formats a prefix constraint's description. - - - - - PropertyConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The name. - The constraint to apply to the property. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The base result with actual value to which the Constraint was applied. - - - - Write the additional failure message for a failing constraint to a - MessageWriter. - - The writer on which the actual value is displayed - - - - PropertyExistsConstraint tests that a named property - exists on the object provided through Match. - - Originally, PropertyConstraint provided this feature - in addition to making optional tests on the value - of the property. The two constraints are now separate. - - - - - Initializes a new instance of the class. - - The name of the property. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the property exists for a given object - - The object to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - - RangeConstraint tests whether two values are within a - specified range. - - - - - Initializes a new instance of the class. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - RegexConstraint can test whether a string matches - the pattern provided. - - - - - Initializes a new instance of the class. - - The pattern. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - ResolvableConstraintExpression is used to represent a compound - constraint being constructed at a point where the last operator - may either terminate the expression or may have additional - qualifying constraints added to it. - - It is used, for example, for a Property element or for - an Exception element, either of which may be optionally - followed by constraints that apply to the property or - exception. - - - - - Create a new instance of ResolvableConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - Appends an And Operator to the expression - - - - - Appends an Or operator to the expression. - - - - - Resolve the current expression to a Constraint - - - - - ReusableConstraint wraps a constraint expression after - resolving it so that it can be reused consistently. - - - - - Construct a ReusableConstraint from a constraint expression - - The expression to be resolved and reused - - - - Converts a constraint to a ReusableConstraint - - The constraint to be converted - A ReusableConstraint - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Return the top-level constraint for this expression - - - - - - SameAsConstraint tests whether an object is identical to - the object passed to its constructor - - - - - Initializes a new instance of the class. - - The expected object. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Summary description for SamePathConstraint. - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SamePathOrUnderConstraint tests that one path is under another - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SomeItemsConstraint applies another constraint to each - item in a collection, succeeding if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - succeeding if any item succeeds. - - - - - - - Flag the constraint to use the supplied object. - - The type of the elements in the collection. - The type of the member. - The comparison function to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - StartsWithConstraint can test whether a string starts - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - StringConstraint is the abstract base for constraints - that operate on strings. It supports the IgnoreCase - modifier for string operations. - - - - - The expected value - - - - - Indicates whether tests should be case-insensitive - - - - - Description of this constraint - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Constructs a StringConstraint without an expected value - - - - - Constructs a StringConstraint given an expected value - - The expected value - - - - Modify the constraint to ignore case in matching. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the constraint is satisfied by a given string - - The string to be tested - True for success, false for failure - - - - SubPathConstraint tests that the actual path is under the expected path - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SubstringConstraint can test whether a string contains - the expected substring. - - - - - Initializes a new instance of the class. - - The expected. - - - - Modify the constraint to ignore case in matching. - This will call Using(StringComparison.CurrentCultureIgnoreCase). - - Thrown when a comparison type different - than was already set. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modify the constraint to the specified comparison. - - Thrown when a comparison type different - than was already set. - - - - ThrowsConstraint is used to test the exception thrown by - a delegate by applying a constraint to it. - - - - - Initializes a new instance of the class, - using a constraint to be applied to the exception. - - A constraint to apply to the caught exception. - - - - Get the actual exception thrown - used by Assert.Throws. - - - - - Gets text describing a constraint - - - - - Executes the code of the delegate and captures any exception. - If a non-null base constraint was provided, it applies that - constraint to the exception. - - A delegate representing the code to be tested - True if an exception is thrown and the constraint succeeds, otherwise false - - - - Converts an ActualValueDelegate to a TestDelegate - before calling the primary overload. - - - - - - - Write the actual value for a failing constraint test to a - MessageWriter. This override only handles the special message - used when an exception is expected but none is thrown. - - The writer on which the actual value is displayed - - - - ThrowsExceptionConstraint tests that an exception has - been thrown, without any further tests. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Executes the code and returns success if an exception is thrown. - - A delegate representing the code to be tested - True if an exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - - - - ThrowsNothingConstraint tests that a delegate does not - throw an exception. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True if no exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - The Tolerance class generalizes the notion of a tolerance - within which an equality test succeeds. Normally, it is - used with numeric types, but it can be used with any - type that supports taking a difference between two - objects and comparing that difference to a value. - - - - - Returns a default Tolerance object, equivalent to an exact match. - - - - - Returns an empty Tolerance object, equivalent to an exact match. - - - - - Constructs a linear tolerance of a specified amount - - - - - Constructs a tolerance given an amount and - - - - - Returns a new tolerance, using the current amount as a percentage. - - - - - Returns a new tolerance, using the current amount in Ulps - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of days. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of hours. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of minutes. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of seconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of milliseconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of clock ticks. - - - - - Gets the for the current Tolerance - - - - - Gets the magnitude of the current Tolerance instance. - - - - - Returns true if the current tolerance has not been set or is using the . - - - - - Apply the tolerance to an expected value and return - a Tolerance.Range that represents the acceptable values. - - - - - Tests that the current Tolerance is linear with a - numeric value, throwing an exception if it is not. - - - - - Tolerance.Range represents the range of values that match - a specific tolerance, when applied to a specific value. - - - - - The lower bound of the range - - - - - The upper bound of the range - - - - - Constructs a range - - - - - Modes in which the tolerance value for a comparison can be interpreted. - - - - - The tolerance was created with a value, without specifying - how the value would be used. This is used to prevent setting - the mode more than once and is generally changed to Linear - upon execution of the test. - - - - - The tolerance is used as a numeric range within which - two compared values are considered to be equal. - - - - - Interprets the tolerance as the percentage by which - the two compared values my deviate from each other. - - - - - Compares two values based in their distance in - representable numbers. - - - - - TrueConstraint tests that the actual value is true - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - TypeConstraint is the abstract base for constraints - that take a Type as their expected value. - - - - - The expected Type used by the constraint - - - - - The type of the actual argument to which the constraint was applied - - - - - Construct a TypeConstraint for a given Type - - The expected type for the constraint - Prefix used in forming the constraint description - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - UniqueItemsConstraint tests whether all the items in a - collection are unique. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that all items are unique. - - - - - - - XmlSerializableConstraint tests whether - an object is serializable in XML format. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation of this constraint - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the dictionary. - - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the dictionary. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Asserts on Directories - - - - - DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if the directories are not equal - Arguments to be used in formatting the message - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new . This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Thrown when an assertion failed. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when a test executes inconclusively. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - Default Constructor - - - - - Construct based on the TestResult so far. This is the constructor - used normally, when exiting the multiple assert block with failures. - Not used internally but provided to facilitate debugging. - - - The current result, up to this point. The result is not used - internally by NUnit but is provided to facilitate debugging. - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the provided by this exception. - - - - - Gets the of this test at the point the exception was thrown, - - - - - Abstract base for Exceptions that terminate a test and provide a ResultState. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Contains extension methods that do not require a special using directive. - - - - - Asserts on Files - - - - - DO NOT USE! Use FileAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - The message to be displayed when the two Stream are the same. - Arguments to be used in formatting the message - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - - - - Class used to guard against unexpected argument values - or operations by throwing an appropriate exception. - - - - - Throws an exception if an argument is null - - The value to be tested - The name of the argument - - - - Throws an exception if a string argument is null or empty - - The value to be tested - The name of the argument - - - - Throws an ArgumentOutOfRangeException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an ArgumentException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an InvalidOperationException if the specified condition is not met. - - The condition that must be met - The exception message to be used - - - - Throws an if the specified delegate is async void. - - - - - Throws an if the specified delegate is async void. - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a which will apply - the following constraint to only one member of the collection, - and fail if none or more than one match occurs. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - The AssertionResult class represents the result of a single assertion. - - - - - Construct an AssertionResult - - - - The pass/fail status of the assertion - - - The message produced by the assertion, or null - - - The stack trace associated with the assertion, or null - - - - ToString Override - - - - - Override GetHashCode - - - - - Override Equals - - - - - - AssertionStatus enumeration represents the possible outcomes of an assertion. - The order of definition is significant, higher level values override lower - ones in determining the overall result of a test. - - - - - An assumption failed - - - - - The assertion succeeded - - - - - A warning message was issued - - - - - The assertion failed - - - - - An unexpected exception was thrown - - - - - The IApplyToContext interface is implemented by attributes - that want to make changes to the execution context before - a test is run. - - - - - Apply changes to the execution context - - The execution context - - - - The IApplyToTest interface is implemented by self-applying - attributes that modify the state of a test in some way. - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - CombiningStrategy is the abstract base for classes that - know how to combine values provided for individual test - parameters to create a set of test cases. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - ICommandWrapper is implemented by attributes and other - objects able to wrap a TestCommand with another command. - - - Attributes or other objects should implement one of the - derived interfaces, rather than this one, since they - indicate in which part of the command chain the wrapper - should be applied. - - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - Objects implementing this interface are used to wrap - the TestMethodCommand itself. They apply after SetUp - has been run and before TearDown. - - - - - Objects implementing this interface are used to wrap - the entire test, including SetUp and TearDown. - - - - - Objects implementing this interface are used to wrap - tests that can repeat. The implementing command is run once, - invoking the chained commands any number of times. - - - - - Any ITest that implements this interface is at a level that the implementing - class should be disposed at the end of the test run - - - - - The IFixtureBuilder interface is exposed by a class that knows how to - build test fixtures from a specified type. In general, it is exposed - by an attribute, but it may be implemented in a helper class used by the - attribute in some cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - - - - The IFixtureBuilder2 interface extends IFixtureBuilder by allowing - use of a PreFilter, which is used to select methods as test cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - PreFilter to be used to select methods. - - - - IImplyFixture is an empty marker interface used by attributes like - TestAttribute that cause the class where they are used to be treated - as a TestFixture even without a TestFixtureAttribute. - - Marker interfaces are not usually considered a good practice, but - we use it here to avoid cluttering the attribute hierarchy with - classes that don't contain any extra implementation. - - - - - The IMethodInfo class is used to encapsulate information - about a method in a platform-independent manner. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Provides data for a single test parameter. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test. - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Provides data for a single test parameter. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - The IParameterInfo interface is an abstraction of a .NET parameter. - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter - - - - - Gets the underlying .NET ParameterInfo - - - - - Gets the Type of the parameter - - - - - Implemented by filters for use in deciding which - Types and Methods should be used to generate tests. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name/value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - The entries in a PropertyBag are of two kinds: those that - take a single value and those that take multiple values. - However, the PropertyBag has no knowledge of which entries - fall into each category and the distinction is entirely - up to the code using the PropertyBag. - - When working with multi-valued properties, client code - should use the Add method to add name/value pairs and - indexing to retrieve a list of all values for a given - key. For example: - - bag.Add("Tag", "one"); - bag.Add("Tag", "two"); - Assert.That(bag["Tag"], - Is.EqualTo(new string[] { "one", "two" })); - - When working with single-valued properties, client code - should use the Set method to set the value and Get to - retrieve the value. The GetSetting methods may also be - used to retrieve the value in a type-safe manner while - also providing default. For example: - - bag.Set("Priority", "low"); - bag.Set("Priority", "high"); // replaces value - Assert.That(bag.Get("Priority"), - Is.EqualTo("high")); - Assert.That(bag.GetSetting("Priority", "low"), - Is.EqualTo("high")); - - - - - Adds a key/value pair to the property bag - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - True if their are values present, otherwise false - - - - Gets or sets the list of values for a particular key - - The key for which the values are to be retrieved or set - - - - Gets a collection containing all the keys in the property set - - - - - The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. - - - - - Returns an array of custom attributes of the specified type applied to this object - - - - - Returns a value indicating whether an attribute of the specified type is defined on this object. - - - - - The ISimpleTestBuilder interface is exposed by a class that knows how to - build a single tests from a specified method. In general, - it is exposed by an attribute, but it may be implemented in a helper class - used by the attribute in some cases. - - - - - Builds a single test from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ISuiteBuilder interface is exposed by a class that knows how to - build a single test suite from a specified type. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The type of the fixture to be used - A PreFilter for selecting methods. - - - - Common interface supported by all representations - of a test. Only includes informational fields. - The Run method is specifically excluded to allow - for data-only representations of a test. - - - - - Gets the id of the test - - - - - Gets the name of the test - - - - - Gets the type of the test - - - - - Gets the fully qualified name of the test - - - - - Gets the name of the class containing this test. Returns - null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Gets the Type of the test fixture, if applicable, or - null if no fixture type is associated with this test. - - - - - Gets the method which declares the test, or - if no method is associated with this test. - - - - - Gets the RunState of the test, indicating whether it can be run. - - - - - Count of the test cases ( 1 if this is a test case ) - - - - - Gets the properties of the test - - - - - Gets the parent test, if any. - - The parent test or null if none exists. - - - - Returns true if this is a test suite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets a fixture object for running this test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - The ITestBuilder interface is exposed by a class that knows how to - build tests from a specified method. In general, it is exposed - by an attribute which has additional information available to provide - the necessary test parameters to distinguish the test cases built. - - - - - Builds any number of tests from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ITestCaseBuilder interface is exposed by a class that knows how to - build a test from a specified method, possibly containing child test cases. - - - - - Examine the method and determine if it is suitable for - this builder to use in building a TestCase to be - included in the suite being populated. - - Note that returning false will cause the method to be ignored - in loading the tests. If it is desired to load the method - but label it as non-runnable, ignored, etc., then this - method must return true. - - The test method to examine - The suite being populated - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method to be used as a test case - The test suite being populated, or null - - - - The ITestCaseData interface is implemented by a class - that is able to return complete test cases for use by - a parameterized test method. - - - - - Gets the expected result of the test case - - - - - Returns true if an expected result has been set - - - - - The ITestData interface is implemented by a class that - represents a single instance of a parameterized test. - - - - - Gets the name to be used for the test - - - - - Gets the RunState for this test case. - - - - - Gets the argument list to be provided to the test - - - - - Gets the property dictionary for the test case - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Determine if a particular test passes the filter criteria. Pass - may examine the parents and/or descendants of a test, depending - on the semantics of the particular filter - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - The ITestCaseData interface is implemented by a class - that is able to return the data required to create an - instance of a parameterized test fixture. - - - - - Get the TypeArgs if separately set - - - - - The ITestListener interface is used internally to receive - notifications of significant events while a test is being - run. The events are propagated to clients by means of an - AsyncCallback. NUnit extensions may also monitor these events. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - The ITestResult interface represents the result of a test. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - Gets the number of asserts executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - Accessing HasChildren should not force creation of the - Children collection in classes implementing this interface. - - - - - Gets the collection of child results. - - - - - Gets the Test to which this result applies. - - - - - Gets any text output written to this result. - - - - - Gets a list of AssertionResults associated with the test - - - - - Gets the collection of files attached to the test - - - - - The ITypeInfo interface is an abstraction of a .NET Type - - - - - Gets the underlying Type on which this ITypeInfo is based - - - - - Gets the base type of this type as an ITypeInfo - - - - - Returns true if the Type wrapped is equal to the argument - - - - - Gets the name of the Type - - - - - Gets the full name of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type is a static class. - - - - - Get the display name for this typeInfo. - - - - - Get the display name for an object of this type, constructed with specific arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a value indicating whether this type has a method with a specified public attribute - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - An object implementing IXmlNodeBuilder is able to build - an XML representation of itself and any children. - - - - - Returns a TNode representing the current object. - - If true, children are included where applicable - A TNode representing the result - - - - Returns a TNode representing the current object after - adding it as a child of the supplied parent node. - - The parent node. - If true, children are included, where applicable - - - - - The ResultState class represents the outcome of running a test. - It contains two pieces of information. The Status of the test - is an enum indicating whether the test passed, failed, was - skipped or was inconclusive. The Label provides a more - detailed breakdown for use by client runners. - - - - - Initializes a new instance of the class. - - The TestStatus. - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - - - - Initializes a new instance of the class. - - The TestStatus. - The stage at which the result was produced - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - The stage at which the result was produced - - - - The result is inconclusive - - - - - The test has been skipped. - - - - - The test has been ignored. - - - - - The test was skipped because it is explicit - - - - - The test succeeded - - - - - The test issued a warning - - - - - The test failed - - - - - The test encountered an unexpected exception - - - - - The test was cancelled by the user - - - - - The test was not runnable. - - - - - A suite failed because one or more child tests failed or had errors - - - - - A suite failed because one or more child tests had warnings - - - - - A suite is marked ignored because one or more child tests were ignored - - - - - A suite failed in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeDown - - - - - Gets the TestStatus for the test. - - The status. - - - - Gets the label under which this test result is - categorized, if any. - - - - - Gets the stage of test execution in which - the failure or other result took place. - - - - - Get a new ResultState, which is the same as the current - one but with the FailureSite set to the specified value. - - The FailureSite to use - A new ResultState - - - - Test whether this ResultState has the same Status and Label - as another one. In other words, the whether two are equal - ignoring the Site. - - - - - - - Determines whether the specified , is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Overload == operator for ResultStates - - - - - Overload != operator for ResultStates - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - The FailureSite enum indicates the stage of a test - in which an error or failure occurred. - - - - - Failure in the test itself - - - - - Failure in the SetUp method - - - - - Failure in the TearDown method - - - - - Failure of a parent test - - - - - Failure of a child test - - - - - The RunState enum indicates whether a test can be executed. - - - - - The test is not runnable. - - - - - The test is runnable. - - - - - The test can only be run explicitly - - - - - The test has been skipped. This value may - appear on a Test when certain attributes - are used to skip the test. - - - - - The test has been ignored. May appear on - a Test, when the IgnoreAttribute is used. - - - - - The TestAttachment class represents a file attached to a TestResult, - with an optional description. - - - - - Absolute file path to attachment file - - - - - User specifed description of attachment. May be null. - - - - - Creates a TestAttachment class to represent a file attached to a test result. - - Absolute file path to attachment file - User specifed description of attachment. May be null. - - - - The class holds a message sent by a test to all listeners - - - - - Construct with text, destination type and - the name of the test that produced the message. - - Destination of the message - Text to be sent - ID of the test that produced the message - - - - Converts object to string - - - - - The message to send to listeners - - - - - The Destination of the message. - - - - - The ID of the test that sent the message - - - - - Returns the XML representation of the object. - - - - - The TestOutput class holds a unit of output from - a test to a specific output stream - - - - - Construct with text, output destination type and - the name of the test that produced the output. - - Text to be output - Name of the stream or channel to which the text should be written - Id of the test that produced the output - FullName of test that produced the output - - - - Return string representation of the object for debugging - - - - - - Get the text - - - - - Get the output type - - - - - Get the name of the test that created the output - - - - - Get the id of the test that created the output - - - - - Convert the TestOutput object to an XML string - - - - - The TestStatus enum indicates the result of running a test - - - - - The test was inconclusive - - - - - The test has skipped - - - - - The test succeeded - - - - - There was a warning - - - - - The test failed - - - - - TNode represents a single node in the XML representation - of a Test or TestResult. It replaces System.Xml.XmlNode and - System.Xml.Linq.XElement, providing a minimal set of methods - for operating on the XML in a platform-independent manner. - - - - - Constructs a new instance of TNode - - The name of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - Flag indicating whether to use CDATA when writing the text - - - - Gets the name of the node - - - - - Gets the value of the node - - - - - Gets a flag indicating whether the value should be output using CDATA. - - - - - Gets the dictionary of attributes - - - - - Gets a list of child nodes - - - - - Gets the first ChildNode - - - - - Gets the XML representation of this node. - - - - - Create a TNode from its XML text representation - - The XML text to be parsed - A TNode - - - - Adds a new element as a child of the current node and returns it. - - The element name. - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - - The element name - The text content of the new element - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - The value will be output using a CDATA section. - - The element name - The text content of the new element - The newly created child element - - - - Adds an attribute with a specified name and value to the XmlNode. - - The name of the attribute. - The value of the attribute. - - - - Finds a single descendant of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - - - Finds all descendants of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - Writes the XML representation of the node to an XmlWriter - - - - - - Class used to represent a list of XmlResults - - - - - Class used to represent the attributes of a node - - - - - Gets or sets the value associated with the specified key. - Overridden to return null if attribute is not found. - - The key. - Value of the attribute or null - - - - AssemblyHelper provides static methods for working - with assemblies. - - - - - Gets the path from which an assembly was loaded. - For builds where this is not possible, returns - the name of the assembly. - - The assembly. - The path. - - - - Gets the path to the directory from which an assembly was loaded. - - The assembly. - The path. - - - - Gets the AssemblyName of an assembly. - - The assembly - An AssemblyName - - - - Loads an assembly given a string, which may be the - path to the assembly or the AssemblyName - - - - - Gets the assembly path from code base. - - Public for testing purposes - The code base. - - - - - CombinatorialStrategy creates test cases by using all possible - combinations of the parameter data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - Provides data from fields marked with the DatapointAttribute or the - DatapointsAttribute. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - Built-in SuiteBuilder for all types of test classes. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The fixture type to check - - - - Builds a single test suite from the specified type. - - The fixture type to build - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The fixture type to build - A PreFilter for selecting methods. - - - - We look for attributes implementing IFixtureBuilder at one level - of inheritance at a time. Attributes on base classes are not used - unless there are no fixture builder attributes at all on the derived - class. This is by design. - - The type being examined for attributes - - - - Class to build ether a parameterized or a normal NUnitTestMethod. - There are four cases that the builder must deal with: - 1. The method needs no params and none are provided - 2. The method needs params and they are provided - 3. The method needs no params but they are provided in error - 4. The method needs params but they are not provided - This could have been done using two different builders, but it - turned out to be simpler to have just one. The BuildFrom method - takes a different branch depending on whether any parameters are - provided, but all four cases are dealt with in lower-level methods - - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - The test suite being built, to which the new test would be added - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - The test fixture being populated, or null - - - - Builds a ParameterizedMethodSuite containing individual test cases. - - The method for which a test is to be built. - The list of test cases to include. - - - - Build a simple, non-parameterized TestMethod for this method. - - The MethodInfo for which a test is to be built - The test suite for which the method is being built - - - - Class that can build a tree of automatic namespace - suites from a group of fixtures. - - - - - NamespaceDictionary of all test suites we have created to represent - namespaces. Used to locate namespace parent suites for fixtures. - - - - - Point in the tree where items in the global namespace are added - - - - - Initializes a new instance of the class. - - The root suite. - - - - Gets the root entry in the tree created by the NamespaceTreeBuilder. - - The root suite. - - - - Adds the specified fixtures to the tree. - - The fixtures to be added. - - - - Adds the specified fixture to the tree. - - The fixture to be added. - - - - NUnitTestCaseBuilder is a utility class used by attributes - that build test cases. - - - - - Constructs an - - - - - Builds a single NUnitTestMethod, either as a child of the fixture - or as one of a set of test cases under a ParameterizedTestMethodSuite. - - The MethodInfo from which to construct the TestMethod - The suite or fixture to which the new test will be added - The ParameterSet to be used, or null - - - - Checks to see if we have valid combinations of attributes. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - True if the method signature is valid, false if not - - - - Helper method that checks the signature of a TestMethod and - any supplied parameters to determine if the test is valid. - - Currently, NUnitTestMethods are required to be public, - non-abstract methods, either static or instance, - returning void. They may take arguments but the values must - be provided or the TestMethod is not considered runnable. - - Methods not meeting these criteria will be marked as - non-runnable and the method will return false in that case. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - Parameters to be used for this test, or null - True if the method signature is valid, false if not - - The return value is no longer used internally, but is retained - for testing purposes. - - - - - NUnitTestFixtureBuilder is able to build a fixture given - a class marked with a TestFixtureAttribute or an unmarked - class containing test methods. In the first case, it is - called by the attribute and in the second directly by - NUnitSuiteBuilder. - - - - - Build a TestFixture from type provided. A non-null TestSuite - must always be returned, since the method is generally called - because the user has marked the target class as a fixture. - If something prevents the fixture from being used, it should - be returned nonetheless, labelled as non-runnable. - - An ITypeInfo for the fixture to be used. - Filter used to select methods as tests. - A TestSuite object or one derived from TestSuite. - - - - Overload of BuildFrom called by tests that have arguments. - Builds a fixture using the provided type and information - in the ITestFixtureData object. - - The TypeInfo for which to construct a fixture. - Filter used to select methods as tests. - An object implementing ITestFixtureData or null. - - - - - Method to add test cases to the newly constructed fixture. - - - - - Method to create a test case from a MethodInfo and add - it to the fixture being built. It first checks to see if - any global TestCaseBuilder addin wants to build the - test case. If not, it uses the internal builder - collection maintained by this fixture builder. - - The default implementation has no test case builders. - Derived classes should add builders to the collection - in their constructor. - - The method for which a test is to be created - The test suite being built. - A newly constructed Test - - - - PairwiseStrategy creates test cases by combining the parameter - data so that all possible pairs of data items are used. - - - - The number of test cases that cover all possible pairs of test function - parameters values is significantly less than the number of test cases - that cover all possible combination of test function parameters values. - And because different studies show that most of software failures are - caused by combination of no more than two parameters, pairwise testing - can be an effective ways to test the system when it's impossible to test - all combinations of parameters. - - - The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: - https://burtleburtle.net/bob/math/jenny.html - - - - - - FleaRand is a pseudo-random number generator developed by Bob Jenkins: - https://burtleburtle.net/bob/rand/talksmall.html#flea - - - - - Initializes a new instance of the FleaRand class. - - The seed. - - - - FeatureInfo represents coverage of a single value of test function - parameter, represented as a pair of indices, Dimension and Feature. In - terms of unit testing, Dimension is the index of the test parameter and - Feature is the index of the supplied value in that parameter's list of - sources. - - - - - Initializes a new instance of FeatureInfo class. - - Index of a dimension. - Index of a feature. - - - - A FeatureTuple represents a combination of features, one per test - parameter, which should be covered by a test case. In the - PairwiseStrategy, we are only trying to cover pairs of features, so the - tuples actually may contain only single feature or pair of features, but - the algorithm itself works with triplets, quadruples and so on. - - - - - Initializes a new instance of FeatureTuple class for a single feature. - - Single feature. - - - - Initializes a new instance of FeatureTuple class for a pair of features. - - First feature. - Second feature. - - - - TestCase represents a single test case covering a list of features. - - - - - Initializes a new instance of TestCaseInfo class. - - A number of features in the test case. - - - - PairwiseTestCaseGenerator class implements an algorithm which generates - a set of test cases which covers all pairs of possible values of test - function. - - - - The algorithm starts with creating a set of all feature tuples which we - will try to cover (see method). This set - includes every single feature and all possible pairs of features. We - store feature tuples in the 3-D collection (where axes are "dimension", - "feature", and "all combinations which includes this feature"), and for - every two feature (e.g. "A" and "B") we generate both ("A", "B") and - ("B", "A") pairs. This data structure extremely reduces the amount of - time needed to calculate coverage for a single test case (this - calculation is the most time-consuming part of the algorithm). - - - Then the algorithm picks one tuple from the uncovered tuple, creates a - test case that covers this tuple, and then removes this tuple and all - other tuples covered by this test case from the collection of uncovered - tuples. - - - Picking a tuple to cover - - - There are no any special rules defined for picking tuples to cover. We - just pick them one by one, in the order they were generated. - - - Test generation - - - Test generation starts from creating a completely random test case which - covers, nevertheless, previously selected tuple. Then the algorithm - tries to maximize number of tuples which this test covers. - - - Test generation and maximization process repeats seven times for every - selected tuple and then the algorithm picks the best test case ("seven" - is a magic number which provides good results in acceptable time). - - Maximizing test coverage - - To maximize tests coverage, the algorithm walks through the list of mutable - dimensions (mutable dimension is a dimension that are not included in - the previously selected tuple). Then for every dimension, the algorithm - walks through the list of features and checks if this feature provides - better coverage than randomly selected feature, and if yes keeps this - feature. - - - This process repeats while it shows progress. If the last iteration - doesn't improve coverage, the process ends. - - - In addition, for better results, before start every iteration, the - algorithm "scrambles" dimensions - so for every iteration dimension - probes in a different order. - - - - - - Creates a set of test cases for specified dimensions. - - - An array which contains information about dimensions. Each element of - this array represents a number of features in the specific dimension. - - - A set of test cases. - - - - - Gets the test cases generated by this strategy instance. - - A set of test cases. - - - - The ParameterDataProvider class implements IParameterDataProvider - and hosts one or more individual providers. - - - - - Construct with a collection of individual providers - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - ParameterDataSourceProvider supplies individual argument values for - single parameters using attributes implementing IParameterDataSource. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - SequentialStrategy creates test cases by using all of the - parameter data sources in parallel, substituting null - when any of them run out of data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - TestActionAfterCommand handles the AfterTest method of a single - TestActionItem, provided the items BeforeTest has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - AfterCommand is a DelegatingTestCommand that performs some - specific action after the inner command is run. - - - - - Construct an AfterCommand - - - - - Execute the command - - - - - Set this to perform action after the inner command. - - - - - ContextSettingsCommand applies specified changes to the - TestExecutionContext prior to running a test. No special - action is needed after the test runs, since the prior - context will be restored automatically. - - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Perform the before test action - - - - - Perform the after test action - - - - - TestActionBeforeCommand handles the BeforeTest method of a single - TestActionItem, relying on the item to remember it has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - BeforeTestCommand is a DelegatingTestCommand that performs some - specific action before the inner command is run. - - - - - Construct a BeforeCommand - - - - - Execute the command - - - - - Action to perform before the inner command. - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - - - - DelegatingTestCommand wraps an inner TestCommand. - Derived classes may do what they like before or - after running the inner command. - - - - TODO: Documentation needed for field - - - - Initializes a new instance of the class. - - The inner command. - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - - - - EmptyTestCommand is a TestCommand that does nothing. It simply - returns the current result from the context when executed. We - use it to avoid testing for null when executing a chain of - DelegatingTestCommands. - - - - - Construct a NullCommand for a test - - - - - Execute the command - - - - - adjusts the result of a successful test - to a failure if the elapsed time has exceeded the specified maximum - time allowed. - - - - - Initializes a new instance of the class. - - The inner command. - The max time allowed in milliseconds - - - - OneTimeSetUpCommand runs any one-time setup methods for a suite, - constructing the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - A SetUpTearDownList for use by the command - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - A SetUpTearDownList for use by the command - - - - SetUpTearDownCommand runs SetUp methods for a suite, - runs the test and then runs TearDown methods. - - - - - Initializes a new instance of the class. - - The inner command. - List of setup/teardown items - - - - SetUpTearDownItem holds the setup and teardown methods - for a single level of the inheritance hierarchy. - - - - - Construct a SetUpTearDownNode - - A list of setup methods for this level - A list teardown methods for this level - - - - Returns true if this level has any methods at all. - This flag is used to discard levels that do nothing. - - - - - Run SetUp on this level. - - The execution context to use for running. - - - - Run TearDown for this level. - - - - - - TODO: Documentation needed for class - - - - - Initializes a new instance of the class. - - The test being skipped. - - - - Overridden to simply set the CurrentResult to the - appropriate Skipped state. - - The execution context for the test - A TestResult - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - The TestAction with which to wrap the inner command. - - - - TestActionItem wraps a single execution of an ITestAction. - Its primary purpose is to track whether the BeforeTest - method has been called and suppress calling the - AfterTest method if it has not. This is necessary when - ITestActions are used before and after a CompositeWorkItem, - since the OneTimeSetUpCommand and OneTimeTearDownCommand - are separate command chains. By sharing a TestActionItem - between the setup and teardown chains, the two calls can - be coordinated. - - - - - Construct a TestActionItem - - The ITestAction to be included - - - - Get flag indicating if the BeforeTest entry was already called. - - - - - Run the BeforeTest method of the action and remember that it has been run. - - The test to which the action applies - - - - Run the AfterTest action, but only if the BeforeTest - action was actually run. - - The test to which the action applies - - - - TestCommand is the abstract base class for all test commands - in the framework. A TestCommand represents a single stage in - the execution of a test, e.g.: SetUp/TearDown, checking for - Timeout, verifying the returned result from a method, etc. - - TestCommands may decorate other test commands so that the - execution of a lower-level command is nested within that - of a higher level command. All nested commands are executed - synchronously, as a single unit. Scheduling test execution - on separate threads is handled at a higher level, using the - task dispatcher. - - - - - Construct a TestCommand for a test. - - The test to be executed - - - - Gets the test associated with this command. - - - - - Runs the test in a specified context, returning a TestResult. - - The TestExecutionContext to be used for running the test. - A TestResult - - - - TestMethodCommand is the lowest level concrete command - used to run actual test cases. - - - - - Initializes a new instance of the class. - - The test. - - - - Runs the test, saving a TestResult in the execution context, as - well as returning it. If the test has an expected result, it - is asserts on that value. Since failed tests and errors throw - an exception, this command must be wrapped in an outer command, - will handle that exception and records the failure. This role - is usually played by the SetUpTearDown command. - - The execution context - - - - TheoryResultCommand adjusts the result of a Theory so that - it fails if all the results were inconclusive. - - - - - Constructs a TheoryResultCommand - - The command to be wrapped by this one - - - - creates a timer in order to cancel - a test if it exceeds a specified time and adjusts - the test result if it did time out. - - - - - Initializes a new instance of the class. - - The inner command - Timeout value - - - - Provides methods to support consistent checking in constraints. - - - - - Requires that the provided object is actually of the type required. - - The object to verify. - Name of the parameter as passed into the checking method. - - If and can be null, returns null rather than throwing when is null. - If cannot be null, this parameter is ignored. - The type to require. - - - - CultureDetector is a helper class used by NUnit to determine - whether a test should be run based on the current culture. - - - - - Default constructor uses the current culture. - - - - - Construct a CultureDetector for a particular culture for testing. - - The culture to be used - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Tests to determine if the current culture is supported - based on a culture attribute. - - The attribute to examine - - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Useful when wrapping awaitables whose GetResult method does not block until complete. - Contains a default mechanism to implement - via and . - - - - - ExceptionHelper provides static methods for working with exceptions - - - - - Rethrows an exception, preserving its stack trace - - The exception to rethrow - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. Optionally excludes exception names, - creating a more readable message. - - The exception. - Flag indicating whether exception names should be excluded. - A combined message string. - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. - - The exception. - A combined stack trace. - - - - Gets the stack trace of the exception. If no stack trace - is provided, returns "No stack trace available". - - The exception. - A string representation of the stack trace. - - - - Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. - - - - - A CompositeWorkItem represents a test suite and - encapsulates the execution of the suite as well - as all its child tests. - - - - - List of Child WorkItems - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - Construct a CompositeWorkItem for executing a test suite - using a filter to select child tests. - - The TestSuite to be executed - A filter used to select child tests - - - - Method that actually performs the work. Overridden - in CompositeWorkItem to do one-time setup, run all child - items and then dispatch the one-time teardown work item. - - - - - - - - - - Cancel (abort or stop) a CompositeWorkItem and all of its children - - true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete - - - - OneTimeTearDownWorkItem represents the cleanup - and one-time teardown phase of a CompositeWorkItem - - - - - Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem - - The CompositeWorkItem being wrapped - - - - The WorkItem name, overridden to indicate this is the teardown. - - - - - The ExecutionStrategy for use in running this work item - - - - - - - - - - PerformWork is not used in CompositeWorkItem - - - - - EventListenerTextWriter sends text output to the currently active - ITestEventListener in the form of a TestOutput object. If no event - listener is active in the context, or if there is no context, - the output is forwarded to the supplied default writer. - - - - - Construct an EventListenerTextWriter - - The name of the stream to use for events - The default writer to use if no listener is available - - - - Get the Encoding for this TextWriter - - - - - Write formatted string - - - - - Write formatted string - - - - - Write formatted string - - - - - Write an object - - - - - Write a string - - - - - Write a decimal - - - - - Write a double - - - - - Write formatted string - - - - - Write a ulong - - - - - Write a long - - - - - Write a uint - - - - - Write an int - - - - - Write a char - - - - - Write a boolean - - - - - Write chars - - - - - Write chars - - - - - Write a float - - - - - Write a string with newline - - - - - Write an object with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write a decimal with newline - - - - - Write a formatted string with newline - - - - - Write a double with newline - - - - - Write a uint with newline - - - - - Write a ulong with newline - - - - - Write a long with newline - - - - - Write an int with newline - - - - - Write a bool with newline - - - - - Write chars with newline - - - - - Write chars with newline - - - - - Write a char with newline - - - - - Write a float with newline - - - - - Write newline - - - - - The EventPumpState enum represents the state of an - EventPump. - - - - - The pump is stopped - - - - - The pump is pumping events with no stop requested - - - - - The pump is pumping events but a stop has been requested - - - - - EventPump pulls events out of an EventQueue and sends - them to a listener. It is used to send events back to - the client without using the CallContext of the test - runner thread. - - - - - The downstream listener to which we send events - - - - - The queue that holds our events - - - - - Thread to do the pumping - - - - - The current state of the event pump - - - - - Constructor - - The EventListener to receive events - The event queue to pull events from - - - - Gets or sets the current state of the pump - - - - - Gets or sets the name of this EventPump - (used only internally and for testing). - - - - - Dispose stops the pump - Disposes the used WaitHandle, too. - - - - - Start the pump - - - - - Tell the pump to stop after emptying the queue. - - - - - Our thread proc for removing items from the event - queue and sending them on. Note that this would - need to do more locking if any other thread were - removing events from the queue. - - - - - NUnit.Core.Event is the abstract base for all stored events. - An Event is the stored representation of a call to the - ITestListener interface and is used to record such calls - or to queue them for forwarding on another thread or at - a later time. - - - - - The Send method is implemented by derived classes to send the event to the specified listener. - - The listener. - - - - TestStartedEvent holds information needed to call the TestStarted method. - - - - - Initializes a new instance of the class. - - The test. - - - - Calls TestStarted on the specified listener. - - The listener. - - - - TestFinishedEvent holds information needed to call the TestFinished method. - - - - - Initializes a new instance of the class. - - The result. - - - - Calls TestFinished on the specified listener. - - The listener. - - - - TestOutputEvent holds information needed to call the TestOutput method. - - - - - Initializes a new instance of the class. - - The output object. - - - - Calls TestOutput on the specified listener. - - The listener. - - - - TestMessageEvent holds information needed to call the SendMessage method. - - - - - Initializes a new instance of the class. - - The test message object. - - - - Calls on the specified listener. - - The listener. - - - - Holds object for sending to all listeners - - - - - Implements a queue of work items each of which - is queued as a WaitCallback. - - - - - Gets the count of items in the queue. - - - - - Enqueues the specified event - - The event to enqueue. - - - - Removes the first element from the queue and returns it (or null). - - - If true and the queue is empty, the calling thread is blocked until - either an element is enqueued, or is called. - - - - - If the queue not empty - the first element. - - - otherwise, if ==false - or has been called - null. - - - - - - - Stop processing of the queue - - - - - An IWorkItemDispatcher handles execution of work items. - - - - - The level of parallelism supported. Zero if not supported. - - - - - Start execution, performing any initialization. Sets - the top level work item and dispatches it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete - - - - MainThreadWorkItemDispatcher handles execution of WorkItems by - directly executing them on the main thread. This is different - from the SimpleWorkItemDispatcher where the work item is dispatched - onto its own thread. - - - - - The level of parallelism supported - - - - - Start execution, dispatching the top level - work into the main thread. - - - - - Dispatch a single work item for execution by - executing it directly. - The item to dispatch - - - - - This method is not supported for - this dispatcher. Using it will throw a - NotSupportedException. - - Not used - If used, it will always throw this. - - - - Enumeration representing the strategy to follow in executing a work item. - The value is only relevant when running under the parallel dispatcher. - - - - - Run directly on same thread - - - - - Enqueue for parallel execution - - - - - Enqueue for non-parallel execution - - - - - ParallelWorkItemDispatcher handles execution of work items by - queuing them for worker threads to process. - - - - - Event raised whenever a shift is starting. - - - - - Event raised whenever a shift has ended. - - - - - Construct a ParallelWorkItemDispatcher - - Number of workers to use - - - - Number of parallel worker threads - - - - - Enumerates all the shifts supported by the dispatcher - - - - - Enumerates all the Queues supported by the dispatcher - - - - - Start execution, setting the top level work, - enqueuing it and starting a shift to execute it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - - - - Save the state of the queues and create a new isolated set - - - - - Try to remove isolated queues and restore old ones - - - - - QueuingEventListener uses an EventQueue to store any - events received on its EventListener interface. - - - - - The EventQueue created and filled by this listener - - - - - Construct a QueuingEventListener - - - - - A test has started - - The test that is starting - - - - A test case finished - - Result of the test case - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - A SimpleWorkItem represents a single test case and is - marked as completed immediately upon execution. This - class is also used for skipped or ignored test suites. - - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - - - - Method that performs actually performs the work. - - - - - Creates a test command for use in running this test. - - A TestCommand - - - - SimpleWorkItemDispatcher handles execution of WorkItems by - directly executing them. It is provided so that a dispatcher - is always available in the context, thereby simplifying the - code needed to run child tests. - - - - - The level of parallelism supported - - - - - Start execution, creating the execution thread, - setting the top level work and dispatching it. - - - - - Dispatch a single work item for execution by - executing it directly. - The item to dispatch - - - - - Cancel (abort or stop) the ongoing run. - If no run is in process, the call has no effect. - - true if the run should be aborted, false if it should allow its currently running test to complete - - - - A TestWorker pulls work items from a queue - and executes them. - - - - - Event handler for TestWorker events - - The TestWorker sending the event - The WorkItem that caused the event - - - - Event signaled immediately before executing a WorkItem - - - - - Event signaled immediately after executing a WorkItem - - - - - Construct a new TestWorker. - - The queue from which to pull work items - The name of this worker - - - - The WorkItemQueue from which this worker pulls WorkItems - - - - - The name of this worker - also used for the thread - - - - - Indicates whether the worker thread is running - - - - - Our ThreadProc, which pulls and runs tests in a loop - - - - - Create thread and start processing work items. - - - - - Stop the thread, either immediately or after finishing the current WorkItem - - true if the thread should be aborted, false if it should allow the currently running test to complete - - - - The TextCapture class intercepts console output and writes it - to the current execution context, if one is present on the thread. - If no execution context is found, the output is written to a - default destination, normally the original destination of the - intercepted output. - - - - - Construct a TextCapture object - - The default destination for non-intercepted output - - - - Gets the Encoding in use by this TextWriter - - - - - Writes a single character - - The char to write - - - - Writes a string - - The string to write - - - - Writes a string followed by a line terminator - - The string to write - - - - A WorkItem may be an individual test case, a fixture or - a higher level grouping of tests. All WorkItems inherit - from the abstract WorkItem class, which uses the template - pattern to allow derived classes to perform work in - whatever way is needed. - - A WorkItem is created with a particular TestExecutionContext - and is responsible for re-establishing that context in the - current thread before it begins or resumes execution. - - - - - Construct a WorkItem for a particular test. - - The test that the WorkItem will run - Filter used to include or exclude child items - - - - Construct a work Item that wraps another work Item. - Wrapper items are used to represent independently - dispatched tasks, which form part of the execution - of a single test, such as OneTimeTearDown. - - The WorkItem being wrapped - - - - Initialize the TestExecutionContext. This must be done - before executing the WorkItem. - - - Originally, the context was provided in the constructor - but delaying initialization of the context until the item - is about to be dispatched allows changes in the parent - context during OneTimeSetUp to be reflected in the child. - - The TestExecutionContext to use - - - - Event triggered when the item is complete - - - - - Gets the current state of the WorkItem - - - - - The test being executed by the work item - - - - - The name of the work item - defaults to the Test name. - - - - - Filter used to include or exclude child tests - - - - - The execution context - - - - - The worker executing this item. - - - - - The ParallelExecutionStrategy to use for this work item - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - The test result - - - - - Gets the ParallelScope associated with the test, if any, - otherwise returning ParallelScope.Default; - - - - - Execute the current work item, including any - child work items. - - - - - Wait until the execution of this item is complete - - - - - Marks the WorkItem as NotRunnable. - - Reason for test being NotRunnable. - - - - Cancel (abort or stop) a WorkItem - - true if the WorkItem should be aborted, false if it should run to completion - - - - Standard Dispose - - - - - Method that performs actually performs the work. It should - set the State to WorkItemState.Complete when done. - - - - - Method called by the derived class when all work is complete - - - - - Builds the set up tear down list. - - Unsorted array of setup MethodInfos. - Unsorted array of teardown MethodInfos. - A list of SetUpTearDownItems - - - - Changes the result of the test, logging the old and new states - - The new ResultState - The new message - - - - Recursively walks up the test hierarchy to see if the - has been set on any of the parent tests. - - - - - WorkItemBuilder class knows how to build a tree of work items from a tree of tests - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - True if child work items should be created and added. - - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . - - The first object to compare.The second object to compare. - - - - WorkItemQueueState indicates the current state of a WorkItemQueue - - - - - The queue is paused - - - - - The queue is running - - - - - The queue is stopped - - - - - A WorkItemQueue holds work items that are ready to - be run, either initially or after some dependency - has been satisfied. - - - - - Initializes a new instance of the class. - - The name of the queue. - Flag indicating whether this is a parallel queue - ApartmentState to use for items on this queue - - - - Gets the name of the work item queue. - - - - - Gets a flag indicating whether this queue is used for parallel execution - - - - - Gets the target ApartmentState for work items on this queue - - - - - Gets the total number of items processed so far - - - - - Gets the current state of the queue - - - - - Get a bool indicating whether the queue is empty. - - - - - Enqueue a WorkItem to be processed - - The WorkItem to process - - - - Enqueue a WorkItem to be processed - internal for testing - - The WorkItem to process - The priority at which to process the item - - - - Dequeue a WorkItem for processing - - A WorkItem or null if the queue has stopped - - - - Start or restart processing of items from the queue - - - - - Signal the queue to stop - - - - - Pause the queue for restarting later - - - - - Save the current inner queue and create new ones for use by - a non-parallel fixture with parallel children. - - - - - Restore the inner queue that was previously saved - - - - - The current state of a work item - - - - - Ready to run or continue - - - - - Work Item is executing - - - - - Complete - - - - - Handler for ShiftChange events. - - The shift that is starting or ending. - - - - The dispatcher needs to do different things at different, - non-overlapped times. For example, non-parallel tests may - not be run at the same time as parallel tests. We model - this using the metaphor of a working shift. The WorkShift - class associates one or more WorkItemQueues with one or - more TestWorkers. - - Work in the queues is processed until all queues are empty - and all workers are idle. Both tests are needed because a - worker that is busy may end up adding more work to one of - the queues. At that point, the shift is over and another - shift may begin. This cycle continues until all the tests - have been run. - - - - - Construct a WorkShift - - - - - Event that fires when the shift has ended - - - - - The Name of this shift - - - - - Gets a flag indicating whether the shift is currently active - - - - - Gets a bool indicating whether this shift has any work to do - - - - - Gets a list of the queues associated with this shift. - - Internal for testing - immutable once initialized - - - - Gets the list of workers associated with this shift. - - Internal for testing - immutable once initialized - - - - Add a WorkItemQueue to the shift, starting it if the - shift is currently active. - - - - - Assign a worker to the shift. - - - - - - Start or restart processing for the shift - - - - - End the shift, pausing all queues and raising - the EndOfShift event. - - - - - Shut down the shift. - - - - - Cancel (abort or stop) the shift without completing all work - - true if the WorkShift should be aborted, false if it should allow its currently running tests to complete - - - - TextMessageWriter writes constraint descriptions and messages - in displayable form as a text stream. It tailors the display - of individual message components to form the standard message - format of NUnit assertion failure messages. - - - - - Prefix used for the expected value line of a message - - - - - Prefix used for the actual value line of a message - - - - - Length of a message prefix - - - - - Construct a TextMessageWriter - - - - - Construct a TextMessageWriter, specifying a user message - and optional formatting arguments. - - - - - - - Gets or sets the maximum line length for this writer - - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The result of the constraint that failed - - - - Gets the unique type name between expected and actual. - - The expected value - The actual value causing the failure - Output of the unique type name for expected - Output of the unique type name for actual - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in string comparisons - If true, clip the strings to fit the max line length - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Write the generic 'Expected' line for a constraint - - The constraint that failed - - - - Write the generic 'Expected' line for a given value - - The expected value - - - - Write the generic 'Expected' line for a given value - and tolerance. - - The expected value - The tolerance within which the test was made - - - - Write the generic 'Actual' line for a constraint - - The ConstraintResult for which the actual value is to be written - - - - Write the generic 'Actual' line for a given value - - The actual value causing a failure - - - - Combines multiple filters so that a test must pass all - of them in order to pass this filter. - - - - - Constructs an empty AndFilter - - - - - Constructs an AndFilter from an array of filters - - - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - True if all the component filters pass, otherwise false - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - True if all the component filters match, otherwise false - - - - Checks whether the AndFilter is explicit matched by a test. - - The test to be matched - True if all the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - CategoryFilter is able to select or exclude tests - based on their categories. - - - - - Construct a CategoryFilter using a single category name - - A category name - - - - Check whether the filter matches a test - - The test to be matched - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - A base class for multi-part filters - - - - - Constructs an empty CompositeFilter - - - - - Constructs a CompositeFilter from an array of filters - - - - - - Adds a filter to the list of filters - - The filter to be added - - - - Return a list of the composing filters. - - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - - - - Checks whether the CompositeFilter is explicit matched by a test. - - The test to be matched - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - IdFilter selects tests based on their id - - - - - Construct an IdFilter for a single value - - The id the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a MethodNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a NamespaceFilter for a single namespace - - The namespace the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - NotFilter negates the operation of another filter - - - - - Construct a not filter on another filter - - The filter to be negated - - - - Gets the base filter - - - - - Determine if a particular test passes the filter criteria. - - Overriden in NotFilter so that - 1. Two nested NotFilters are simply ignored - 2. Otherwise, we only look at the test itself and parents, ignoring - any child test matches. - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Check whether the filter matches a test - - The test to be matched - True if it matches, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Combines multiple filters so that a test must pass one - of them in order to pass this filter. - - - - - Constructs an empty OrFilter - - - - - Constructs an AndFilter from an array of filters - - - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - True if any of the component filters pass, otherwise false - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - True if any of the component filters match, otherwise false - - - - Checks whether the OrFilter is explicit matched by a test - - The test to be matched - True if any of the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - PropertyFilter is able to select or exclude tests - based on their properties. - - - - - Construct a PropertyFilter using a property name and expected value - - A property name - The expected value of the property - - - - Check whether the filter matches a test - - The test to be matched - - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - TestName filter selects tests based on their Name - - - - - Construct a TestNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ValueMatchFilter selects tests based on some value, which - is expected to be contained in the test. - - - - - Returns the value matched by the filter - used for testing - - - - - Indicates whether the value is a regular expression - - - - - Construct a ValueMatchFilter for a single value. - - The value to be included. - - - - Match the input provided by the derived class - - The value to be matchedT - True for a match, false otherwise. - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - GenericMethodHelper is able to deduce the Type arguments for - a generic method from the actual arguments provided. - - - - - A special value, which is used to indicate that BestCommonType() method - was unable to find a common type for the specified arguments. - - - - - Construct a GenericMethodHelper for a method - - MethodInfo for the method to examine - - - - Return the type arguments for the method, deducing them - from the arguments actually provided. - - The arguments to the method - If successful, an array of type arguments. - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - InvalidPlatformException is thrown when the platform name supplied - to a test is not recognized. - - - - - Instantiates a new instance of the class. - - - - - Instantiates a new instance of the class - - The message. - - - - Instantiates a new instance of the class - - The message. - The inner. - - - - Serialization constructor for the class - - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Interface for logging within the engine - - - - - Logs the specified message at the error level. - - The message. - - - - Logs the specified message at the error level. - - The message. - The arguments. - - - - Logs the specified message at the warning level. - - The message. - - - - Logs the specified message at the warning level. - - The message. - The arguments. - - - - Logs the specified message at the info level. - - The message. - - - - Logs the specified message at the info level. - - The message. - The arguments. - - - - Logs the specified message at the debug level. - - The message. - - - - Logs the specified message at the debug level. - - The message. - The arguments. - - - - InternalTrace provides facilities for tracing the execution - of the NUnit framework. Tests and classes under test may make use - of Console writes, System.Diagnostics.Trace or various loggers and - NUnit itself traps and processes each of them. For that reason, a - separate internal trace is needed. - - Note: - InternalTrace uses a global lock to allow multiple threads to write - trace messages. This can easily make it a bottleneck so it must be - used sparingly. Keep the trace Level as low as possible and only - insert InternalTrace writes where they are needed. - TODO: add some buffering and a separate writer thread as an option. - TODO: figure out a way to turn on trace in specific classes only. - - - - - Gets a flag indicating whether the InternalTrace is initialized - - - - - Initialize the internal trace facility using the name of the log - to be written to and the trace level. - - The log name - The trace level - - - - Initialize the internal trace using a provided TextWriter and level - - A TextWriter - The InternalTraceLevel - - - - Get a named Logger - - - - - - Get a logger named for a particular Type. - - - - - InternalTraceLevel is an enumeration controlling the - level of detailed presented in the internal log. - - - - - Use the default settings as specified by the user. - - - - - Do not display any trace messages - - - - - Display Error messages only - - - - - Display Warning level and higher messages - - - - - Display informational and higher messages - - - - - Display debug messages and higher - i.e. all messages - - - - - Display debug messages and higher - i.e. all messages - - - - - A trace listener that writes to a separate file per domain - and process using it. - - - - - Construct an InternalTraceWriter that writes to a file. - - Path to the file to use - - - - Construct an InternalTraceWriter that writes to a - TextWriter provided by the caller. - - - - - - Returns the character encoding in which the output is written. - - The character encoding in which the output is written. - - - - Writes a character to the text string or stream. - - The character to write to the text stream. - - - - Writes a string to the text string or stream. - - The string to write. - - - - Writes a string followed by a line terminator to the text string or stream. - - The string to write. If is null, only the line terminator is written. - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - - - Provides internal logging to the NUnit framework - - - - - Initializes a new instance of the class. - - The name. - The log level. - The writer where logs are sent. - - - - Logs the message at error level. - - The message. - - - - Logs the message at error level. - - The message. - The message arguments. - - - - Logs the message at warm level. - - The message. - - - - Logs the message at warning level. - - The message. - The message arguments. - - - - Logs the message at info level. - - The message. - - - - Logs the message at info level. - - The message. - The message arguments. - - - - Logs the message at debug level. - - The message. - - - - Logs the message at debug level. - - The message. - The message arguments. - - - - The MethodWrapper class wraps a MethodInfo so that it may - be used in a platform-independent manner. - - - - - Construct a MethodWrapper for a Type and a MethodInfo. - - - - - Construct a MethodInfo for a given Type and method name. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the method. - - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - This class ensures the is correctly cleared - or restored around framework actions. This is important if running multiple assemblies within the same - process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 - - - - - Thrown when an assertion failed. Here to preserve the inner - exception and hence its stack trace. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Enables the syntax. - - - - - Wraps an action so that it is executed when the returned object is disposed. - This disposal is thread-safe and the action will be executed at most once. - - - - - OSPlatform represents a particular operating system platform - - - - - Platform ID for Unix as defined by .NET - - - - - Platform ID for Unix as defined by Mono - - - - - Platform ID for XBox as defined by .NET and Mono - - - - - Platform ID for MacOSX as defined by .NET and Mono - - - - - Get the OSPlatform under which we are currently running - - - - - Gets the actual OS Version, not the incorrect value that might be - returned for Win 8.1 and Win 10 - - - If an application is not manifested as Windows 8.1 or Windows 10, - the version returned from Environment.OSVersion will not be 6.3 and 10.0 - respectively, but will be 6.2 and 6.3. The correct value can be found in - the registry. - - The original version - The correct OS version - - - - Product Type Enumeration used for Windows - - - - - Product type is unknown or unspecified - - - - - Product type is Workstation - - - - - Product type is Domain Controller - - - - - Product type is Server - - - - - Construct from a platform ID and version - - - - - Construct from a platform ID, version and product type - - - - - Get the platform ID of this instance - - - - - Implemented to use in place of Environment.OSVersion.ToString() - - A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() - - - - Get the Version of this instance - - - - - Get the Product Type of this instance - - - - - Return true if this is a windows platform - - - - - Return true if this is a Unix or Linux platform - - - - - Return true if the platform is Win32S - - - - - Return true if the platform is Win32Windows - - - - - Return true if the platform is Win32NT - - - - - Return true if the platform is Windows CE - - - - - Return true if the platform is Xbox - - - - - Return true if the platform is MacOSX - - - - - Return true if the platform is Windows 95 - - - - - Return true if the platform is Windows 98 - - - - - Return true if the platform is Windows ME - - - - - Return true if the platform is NT 3 - - - - - Return true if the platform is NT 4 - - - - - Return true if the platform is NT 5 - - - - - Return true if the platform is Windows 2000 - - - - - Return true if the platform is Windows XP - - - - - Return true if the platform is Windows 2003 Server - - - - - Return true if the platform is NT 6 - - - - - Return true if the platform is NT 6.0 - - - - - Return true if the platform is NT 6.1 - - - - - Return true if the platform is NT 6.2 - - - - - Return true if the platform is NT 6.3 - - - - - Return true if the platform is Vista - - - - - Return true if the platform is Windows 2008 Server (original or R2) - - - - - Return true if the platform is Windows 2008 Server (original) - - - - - Return true if the platform is Windows 2008 Server R2 - - - - - Return true if the platform is Windows 2012 Server (original or R2) - - - - - Return true if the platform is Windows 2012 Server (original) - - - - - Return true if the platform is Windows 2012 Server R2 - - - - - Return true if the platform is Windows 7 - - - - - Return true if the platform is Windows 8 - - - - - Return true if the platform is Windows 8.1 - - - - - Return true if the platform is Windows 10 - - - - - Return true if the platform is Windows Server. This is named Windows - Server 10 to distinguish it from previous versions of Windows Server. - - - - - - Examines an attribute argument and tries to simulate what that value would have been if the literal syntax - which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. - - - For example, since you can’t apply attributes using arguments, we allow the C# syntax - 10 ( value) or 0.1 ( value) to be specified. - NUnit then converts it to match the method’s parameters, just as if you were actually - using the syntax TestMethod(10) or TestMethod(0.1). - - - For another example, you might have written the syntax 10 and picked up the attribute - constructor overload; however, the test method for which this value is intended only has a - signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted - and you were actually using the syntax TestMethod(10). - - - - - - Converts an array of objects to the , if it is supported. - - - - - Converts a single value to the , if it is supported. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The value to be converted - The target in which the should be converted - If conversion was successfully applied, the converted into - - true if was converted and should be used; - false is no conversion was applied and should be ignored - - - - - The ParameterWrapper class wraps a ParameterInfo so that it may - be used in a platform-independent manner. - - - - - Construct a ParameterWrapper for a given method and parameter - - - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter. - - - - - Gets the underlying ParameterInfo - - - - - Gets the Type of the parameter - - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. - - - - - PlatformHelper class is used by the PlatformAttribute class to - determine whether a platform is supported. - - - - - Comma-delimited list of all supported OS platform constants - - - - - Comma-delimited list of all supported Runtime platform constants - - - - - Default constructor uses the operating system and - common language runtime of the system. - - - - - Construct a PlatformHelper for a particular operating - system and common language runtime. Used in testing. - - RuntimeFramework to be used - OperatingSystem to be used - - - - Test to determine if one of a collection of platforms - is being used currently. - - - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Test to determine if a particular platform or comma-delimited set of platforms is in use. - - Name of the platform or comma-separated list of platform ids - True if the platform is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Implements a simplified filter for use in deciding which - Types and Methods should be used to generate tests. It is consructed with a - list of strings, each of which may end up being interpreted in various ways. - - - - - Return a new PreFilter, without elements, which is considered - empty and always matches. - - - - - Return true if the filter is empty, in which case it - always succeeds. Technically, this is just a filter and - you can add elements but it's best to use Empty when - you need an empty filter and new when you plan to add. - - - - - Add a new filter element to the filter - - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - - - - Adds a key/value pair to the property set - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - - True if their are values present, otherwise false - - - - - Gets a collection containing all the keys in the property set - - - - - - Gets or sets the list of values for a particular key - - - - - Returns an XmlNode representing the current PropertyBag. - - Not used - An XmlNode representing the PropertyBag - - - - Returns an XmlNode representing the PropertyBag after - adding it as a child of the supplied parent node. - - The parent node. - Not used - - - - - The PropertyNames class provides static constants for the - standard property ids that NUnit uses on tests. - - - - - The FriendlyName of the AppDomain in which the assembly is running - - - - - The selected strategy for joining parameter data into test cases - - - - - The process ID of the executing assembly - - - - - The stack trace from any data provider that threw - an exception. - - - - - The reason a test was not run - - - - - The author of the tests - - - - - The ApartmentState required for running the test - - - - - The categories applying to a test - - - - - The Description of a test - - - - - The number of threads to be used in running tests - - - - - The maximum time in ms, above which the test is considered to have failed - - - - - The ParallelScope associated with a test - - - - - The number of times the test should be repeated - - - - - Indicates that the test should be run on a separate thread - - - - - The culture to be set for a test - - - - - The UI culture to be set for a test - - - - - The type that is under test - - - - - The timeout value for the test - - - - - The test will be ignored until the given date - - - - - The optional Order the test will run in - - - - - Randomizer returns a set of random values in a repeatable - way, to allow re-running of tests if necessary. It extends - the .NET Random class, providing random values for a much - wider range of types. - - The class is used internally by the framework to generate - test case data and is also exposed for use by users through - the TestContext.Random property. - - - For consistency with the underlying Random Type, methods - returning a single value use the prefix "Next..." Those - without an argument return a non-negative value up to - the full positive range of the Type. Overloads are provided - for specifying a maximum or a range. Methods that return - arrays or strings use the prefix "Get..." to avoid - confusion with the single-value methods. - - - - - Initial seed used to create randomizers for this run - - - - - Get a Randomizer for a particular member, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Get a randomizer for a particular parameter, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Create a new Randomizer using the next seed - available to ensure that each randomizer gives - a unique sequence of values. - - - - - - Default constructor - - - - - Construct based on seed value - - - - - - Returns a random unsigned int. - - - - - Returns a random unsigned int less than the specified maximum. - - - - - Returns a random unsigned int within a specified range. - - - - - Returns a non-negative random short. - - - - - Returns a non-negative random short less than the specified maximum. - - - - - Returns a non-negative random short within a specified range. - - - - - Returns a random unsigned short. - - - - - Returns a random unsigned short less than the specified maximum. - - - - - Returns a random unsigned short within a specified range. - - - - - Returns a random long. - - - - - Returns a random long less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random ulong. - - - - - Returns a random ulong less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random Byte - - - - - Returns a random Byte less than the specified maximum. - - - - - Returns a random Byte within a specified range - - - - - Returns a random SByte - - - - - Returns a random sbyte less than the specified maximum. - - - - - Returns a random sbyte within a specified range - - - - - Returns a random bool - - - - - Returns a random bool based on the probability a true result - - - - - Returns a random double between 0.0 and the specified maximum. - - - - - Returns a random double within a specified range. - - - - - Returns a random float. - - - - - Returns a random float between 0.0 and the specified maximum. - - - - - Returns a random float within a specified range. - - - - - Returns a random enum value of the specified Type as an object. - - - - - Returns a random enum value of the specified Type. - - - - - Default characters for random functions. - - Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - string representing the set of characters from which to construct the resulting string - A random string of arbitrary length - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - A random string of arbitrary length - Uses DefaultStringChars as the input character set - - - - Generate a random string based on the characters from the input string. - - A random string of the default length - Uses DefaultStringChars as the input character set - - - - Returns a random decimal. - - - - - Returns a random decimal between positive zero and the specified maximum. - - - - - Returns a random decimal within a specified range, which is not - permitted to exceed decimal.MaxVal in the current implementation. - - - A limitation of this implementation is that the range from min - to max must not exceed decimal.MaxVal. - - - - - Generates a valid version 4 . - - - - - Helper methods for inspecting a type by reflection. - - Many of these methods take ICustomAttributeProvider as an - argument to avoid duplication, even though certain attributes can - only appear on specific types of members, like MethodInfo or Type. - - In the case where a type is being examined for the presence of - an attribute, interface or named member, the Reflect methods - operate with the full name of the member being sought. This - removes the necessity of the caller having a reference to the - assembly that defines the item being sought and allows the - NUnit core to inspect assemblies that reference an older - version of the NUnit framework. - - - - - Examine a fixture type and return an array of methods having a - particular attribute. The array is order with base methods first. - - The type to examine - The attribute Type to look for - Specifies whether to search the fixture type inheritance chain - The array of methods found - - - - Examine a fixture type and return true if it has a method with - a particular attribute. - - The type to examine - The attribute Type to look for - True if found, otherwise false - - - - Invoke the default constructor on a Type - - The Type to be constructed - An instance of the Type - - - - Invoke a constructor on a Type with arguments - - The Type to be constructed - Arguments to the constructor - An instance of the Type - - - - Returns an array of types from an array of objects. - Differs from by returning - for null elements rather than throwing . - - - - - Gets the constructors to which the specified argument types can be coerced. - - - - - Determines if the given types can be coerced to match the given parameters. - - - - - Determines whether the current type can be implicitly converted to the specified type. - - - - - Invoke a parameterless method returning void on an object. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - - - - Invoke a method, converting any TargetInvocationException to an NUnitException. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - - Selects the ultimate shadowing property just like would, - rather than throwing - for properties that shadow properties of a different property type - which is what does. - - - If you request both public and nonpublic properties, every public property is preferred - over every nonpublic property. It would violate the principle of least surprise for a - derived class’s implementation detail to be chosen over the public API for a type. - - - See . - See . - See . - - - - Same as GetMethod(, | - , , , - ) except that it also chooses only non-generic methods. - Useful for avoiding the you can have with GetMethod. - - - - - Represents the result of running a single test case. - - - - - Construct a TestCaseResult based on a TestMethod - - A TestMethod to which the result applies. - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - The TestResult class represents the result of a test. - - - - - Error message for when child tests have errors - - - - - Error message for when child tests have warnings - - - - - Error message for when child tests are ignored - - - - - The minimum duration for tests - - - - - Aggregate assertion count - - - - - ReaderWriterLock - - - - - Construct a test result given a Test - - The test to be used - - - - Gets the test with which this result is associated. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets or sets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Adds a test attachment to the test result - - The TestAttachment object to attach - - - - Gets the collection of files attached to the test - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets or sets the count of asserts executed - when running the test. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Gets a TextWriter, which will write output to be included in the result. - - - - - Gets any text output written to this result. - - - - - Gets a list of assertion results associated with the test. - - - - - Returns the XML representation of the result. - - If true, descendant results are included - An XmlNode representing the result - - - - Adds the XML representation of the result as a child of the - supplied parent node.. - - The parent node. - If true, descendant results are included - - - - - Gets a count of pending failures (from Multiple Assert) - - - - - Gets the worst assertion status (highest enum) in all the assertion results - - - - - Set the result of the test - - The ResultState to use in the result - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - Stack trace giving the location of the command - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - The FailureSite to use in the result - - - - RecordTearDownException appends the message and stack trace - from an exception arising during teardown of the test - to any previously recorded information, so that any - earlier failure information is not lost. Note that - calling Assert.Ignore, Assert.Inconclusive, etc. during - teardown is treated as an error. If the current result - represents a suite, it may show a teardown error even - though all contained tests passed. - - The Exception to be recorded - - - - Update overall test result, including legacy Message, based - on AssertionResults that have been saved to this point. - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Creates a failure message incorporating failures - from a Multiple Assert block for use by runners - that don't know about AssertionResults. - - Message as a string - - - - Adds a reason element to a node and returns it. - - The target node. - The new reason element. - - - - Adds a failure element to a node and returns it. - - The target node. - The new failure element. - - - - Adds an attachments element to a node and returns it. - - The target node. - The new attachments element. - - - - Represents the result of running a test suite - - - - - Construct a TestSuiteResult base on a TestSuite - - The TestSuite to which the result applies - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Adds a child result to this result, setting this result's - ResultState to Failure if the child result failed. - - The result to be added - - - - Enumeration identifying a common language - runtime implementation. - - - - Any supported runtime framework - - - Microsoft .NET Framework - - - Microsoft Shared Source CLI - - - Mono - - - MonoTouch - - - Microsoft .NET Core - - - - RuntimeFramework represents a particular version - of a common language runtime implementation. - - - - - DefaultVersion is an empty Version, used to indicate that - NUnit should select the CLR version to use for the test. - - - - - Construct from a runtime type and version. If the version has - two parts, it is taken as a framework version. If it has three - or more, it is taken as a CLR version. In either case, the other - version is deduced based on the runtime type and provided version. - - The runtime type of the framework - The version of the framework - - - - Static method to return a RuntimeFramework object - for the framework that is currently in use. - - - - - The type of this runtime framework - - - - - The framework version for this runtime framework - - - - - The CLR version for this runtime framework - - - - - Return true if any CLR version may be used in - matching this RuntimeFramework object. - - - - - Returns the Display name for this framework - - - - - Parses a string representing a RuntimeFramework. - The string may be just a RuntimeType name or just - a Version or a hyphenated RuntimeType-Version or - a Version prefixed by 'versionString'. - - - - - - - Overridden to return the short name of the framework - - - - - - Returns true if the current framework matches the - one supplied as an argument. Two frameworks match - if their runtime types are the same or either one - is RuntimeType.Any and all specified version components - are equal. Negative (i.e. unspecified) version - components are ignored. - - The RuntimeFramework to be matched. - True on match, otherwise false - - - - Holds thread state which is captured and restored in order to sandbox user code. - - - - - Captures a snapshot of the tracked state of the current thread to be restored later. - - - - - Restores the tracked state of the current thread to the previously captured state. - - - - - Returns a copy with the specified culture. - - - - - Returns a copy with the specified UI culture. - - - - - Returns a copy with the specified principal. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread, but may only be called once. - - - - - StackFilter class is used to remove internal NUnit - entries from a stack trace so that the resulting - trace provides better information about the test. - - - - - Single instance of our default filter - - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - Regex pattern used to delete lines from the bottom of the stack - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - - - - Construct a stack filter instance - - - - - Filters a raw stack trace and returns the result. - - The original stack trace - A filtered stack trace - - - - Provides methods to support legacy string comparison methods. - - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to true, the case of the letters in the strings is ignored. - Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if - strB is sorted first - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to true, the case of the letters in the strings is ignored. - True if the strings are equivalent, false if not. - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - The expected result to be returned - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - The expected result of the test, which - must match the method return type. - - - - - Gets a value indicating whether an expected result was specified. - - - - - TestCaseTimeoutException is thrown when a test running directly - on a TestWorker thread is cancelled due to timeout. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Helper class used to save and restore certain static or - singleton settings in the environment that affect tests - or which might be changed by the user tests. - - - - - Link to a prior saved context - - - - - Indicates that a stop has been requested - - - - - The event listener currently receiving notifications - - - - - The number of assertions for the current test - - - - - The current test result - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - An existing instance of TestExecutionContext. - - - - Gets and sets the current context. - - - - - Gets or sets the current test - - - - - The time the current test started execution - - - - - The time the current test started in Ticks - - - - - Gets or sets the current test result - - - - - Gets a TextWriter that will send output to the current test result. - - - - - The current test object - that is the user fixture - object on which tests are being executed. - - - - - Get or set indicator that run should stop on the first error - - - - - Gets an enum indicating whether a stop has been requested. - - - - - The current test event listener - - - - - The current WorkItemDispatcher. Made public for - use by nunitlite.tests - - - - - The ParallelScope to be used by tests running in this context. - For builds with out the parallel feature, it has no effect. - - - - - Default tolerance value used for floating point equality - when no other tolerance is specified. - - - - - The worker that spawned the context. - For builds without the parallel feature, it is null. - - - - - Gets the RandomGenerator specific to this Test - - - - - Gets the assert count. - - The assert count. - - - - The current nesting level of multiple assert blocks - - - - - Gets or sets the test case timeout value - - - - - Gets a list of ITestActions set by upstream tests - - - - - Saves or restores the CurrentCulture - - - - - Saves or restores the CurrentUICulture - - - - - Gets or sets the current for the Thread. - - - - - The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter - - - - - If true, all tests must run on the same thread. No new thread may be spawned. - - - - - The number of times the current test has been scheduled for execution. - Currently only being executed in a test using the - - - - - Record any changes in the environment made by - the test code in the execution context so it - will be passed on to lower level tests. - - - - - Set up the execution environment to match a context. - Note that we may be running on the same thread where the - context was initially created or on a different thread. - - - - - Increments the assert count by one. - - - - - Increments the assert count by a specified amount. - - - - - Adds a new ValueFormatterFactory to the chain of formatters - - The new factory - - - - Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. - - A name recognized by the intended listeners. - A message to be sent - - - - Obtain lifetime service object - - - - - - An IsolatedContext is used when running code - that may effect the current result in ways that - should not impact the final result of the test. - A new TestExecutionContext is created with an - initially clear result, which is discarded on - exiting the context. - - - using (new TestExecutionContext.IsolatedContext()) - { - // Code that should not impact the result - } - - - - - Save the original current TestExecutionContext and - make a new isolated context current. - - - - - Restore the original TestExecutionContext. - - - - - An AdhocTestExecutionContext is created whenever a context is needed - but not available in CurrentContext. This happens when tests are run - on an ad-hoc basis or Asserts are used outside of tests. - - - - - Construct an AdhocTestExecutionContext, which is used - whenever the current TestExecutionContext is found to be null. - - - - - Enumeration indicating whether the tests are - running normally or being cancelled. - - - - - Running normally with no stop requested - - - - - A graceful stop has been requested - - - - - A forced stop has been requested - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Unique Empty filter. - - - - - Indicates whether this is the EmptyFilter - - - - - Indicates whether this is a top-level filter, - not contained in any other filter. - - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Determine whether the test itself matches the filter criteria, without - examining either parents or descendants. This is overridden by each - different type of filter to perform the necessary tests. - - The test to which the filter is applied - True if the filter matches the any parent of the test - - - - Determine whether any ancestor of the test matches the filter criteria - - The test to which the filter is applied - True if the filter matches the an ancestor of the test - - - - Determine whether any descendant of the test matches the filter criteria. - - The test to be matched - True if at least one descendant matches the filter criteria - - - - Create a TestFilter instance from an XML representation. - - - - - Create a TestFilter from its TNode representation - - - - - Nested class provides an empty filter - one that always - returns true when called. It never matches explicitly. - - - - - Adds an XML node - - True if recursive - The added XML node - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - Type arguments used to create a generic fixture instance - - - - - TestListener provides an implementation of ITestListener that - does nothing. It is used only through its NULL property. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test case has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the message to send - - - - Construct a new TestListener - private so it may not be used. - - - - - Get a listener that does nothing - - - - - TestNameGenerator is able to create test names according to - a coded pattern. - - - - - Default pattern used to generate names - - - - - Construct a TestNameGenerator - - - - - Construct a TestNameGenerator - - The pattern used by this generator. - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - The display name - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - Arguments to be used - The display name - - - - TestParameters is the abstract base class for all classes - that know how to provide data for constructing a test. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a ParameterSet from an object implementing ITestData - - - - - - The RunState for this set of parameters. - - - - - The arguments to be used in running the test, - which must match the method signature. - - - - - A name to be used for this test case in lieu - of the standard generated name containing - the argument list. - - - - - Gets the property dictionary for this test - - - - - Applies ParameterSet values to the test itself. - - A test. - - - - The original arguments provided by the user, - used for display purposes. - - - - - The list of display names to use as the parameters in the test name. - - - - - TestProgressReporter translates ITestListener events into - the async callbacks that are used to inform the client - software about the progress of a test run. - - - - - Initializes a new instance of the class. - - The callback handler to be used for reporting progress. - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished. Sends a result summary to the callback. - to - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - Returns the parent test item for the target test item if it exists - - - parent test item - - - - Makes a string safe for use as an attribute, replacing - characters that can't be used with their - corresponding XML representations. - - The string to be used - A new string with the values replaced - - - - ParameterizedFixtureSuite serves as a container for the set of test - fixtures created from a given Type using various parameters. - - - - - Initializes a new instance of the class. - - The ITypeInfo for the type that represents the suite. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - ParameterizedMethodSuite holds a collection of individual - TestMethods with their arguments applied. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - SetUpFixture extends TestSuite and supports - Setup and TearDown methods. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The Test abstract class represents a test within the framework. - - - - - Static value to seed ids. It's started at 1000 so any - uninitialized ids will stand out. - - - - - Used to cache the declaring type for this MethodInfo - - - - - Method property backing field - - - - - Constructs a test given its name - - The name of the test - - - - Constructs a test given the path through the - test hierarchy to its parent and a name. - - The parent tests full name - The name of the test - - - - Constructs a test for a specific type. - - - - - Constructs a test for a specific method. - - - - - Gets or sets the id of the test - - - - - - Gets or sets the name of the test - - - - - Gets or sets the fully qualified name of the test - - - - - - Gets the name of the class where this test was declared. - Returns null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - The arguments to use in creating the test or empty array if none required. - - - - - Gets the TypeInfo of the fixture used in running this test - or null if no fixture type is associated with it. - - - - - Gets a MethodInfo for the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Whether or not the test should be run - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Gets a string representing the type of test. Used as an attribute - value in the XML representation of a test and has no other - function in the framework. - - - - - Gets a count of test cases represented by - or contained under this test. - - - - - Gets the properties for this test - - - - - Returns true if this is a TestSuite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the parent as a Test object. - Used by the core to set the parent. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets or sets a fixture object for running this test. - - - - - Static prefix used for ids in this AppDomain. - Set by FrameworkController. - - - - - Gets or Sets the Int value representing the seed for the RandomGenerator - - - - - - The SetUp methods. - - - - - The teardown methods - - - - - Creates a TestResult for this test. - - A TestResult suitable for this type of test. - - - - Modify a newly constructed test by applying any of NUnit's common - attributes, based on a supplied , which is - usually the reflection element from which the test was constructed, - but may not be in some instances. The attributes retrieved are - saved for use in subsequent operations. - - - - - Mark the test as Invalid (not runnable) specifying a reason - - The reason the test is not runnable - - - - Get custom attributes applied to a test - - - - - Add standard attributes and members to a test node. - - - - - - - Returns the XML representation of the test - - If true, include child tests recursively - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Compares this test to another test for sorting purposes - - The other test - Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test - - - - TestAssembly is a TestSuite that represents the execution - of tests in a managed assembly. - - - - - Initializes a new instance of the class - specifying the Assembly and the suite name. - - The assembly this test represents. - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Initializes a new instance of the class - specifying the suite name for an assembly that could not be loaded. - - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Creates a copy of the given assembly with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the Assembly represented by this instance. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Get custom attributes specified on the assembly - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - TestFixture is a surrogate for a user test fixture class, - containing one or more tests. - - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The TestMethod class represents a Test implemented as a method. - - - - - The ParameterSet used to create this test method - - - - - Initializes a new instance of the class. - - The method to be used as a test. - - - - Initializes a new instance of the class. - - The method to be used as a test. - The suite or fixture to which the new test will be added - - - - The arguments to use in executing the test method, or empty array if none are provided. - - - - - Overridden to return a TestCaseResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Returns a TNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Gets this test's child tests - - A list of child tests - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns the name of the method - - - - - TestSuite represents a composite test, which contains other tests. - - - - - Our collection of child tests - - - - - Initializes a new instance of the class. - - The name of the suite. - - - - Initializes a new instance of the class. - - Name of the parent suite. - The name of the suite. - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used. - - - - Initializes a new instance of the class. - - Type of the fixture. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Sorts tests under this suite. - - - - - Adds a test to the suite. - - The test. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - Gets this test's child tests - - The list of child tests - - - - Gets a count of test cases represented by - or contained under this test. - - - - - - The arguments to use in creating the fixture, or empty array if none are provided. - - - - - Set to true to suppress sorting this suite's contents - - - - - OneTimeSetUp methods for this suite - - - - - OneTimeTearDown methods for this suite - - - - - Overridden to return a TestSuiteResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Check that setup and teardown methods marked by certain attributes - meet NUnit's requirements and mark the tests not runnable otherwise. - - A list of methodinfos to check - - - - ThreadUtility provides a set of static methods convenient - for working with threads. - - - - - Pre-Task compatibility - - - - - Abort a thread, helping to dislodging it if it is blocked in native code - - The thread to abort - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread - - The thread to kill - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread, passing state info - - The thread to kill - Info for the ThreadAbortException handler - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Schedule a threadpool thread to check on the aborting thread in case it's in a message pump native blocking wait - - - - - Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. - - - - - Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. - The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. - - - - - TypeHelper provides static methods that operate on Types. - - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The display name for the Type - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The arglist provided. - The display name for the Type - - - - Returns the best fit for a common type to be used in - matching actual arguments to a methods Type parameters. - - - - - Determines whether the specified type is numeric. - - The type to be examined. - - true if the specified type is numeric; otherwise, false. - - - - - Convert an argument list to the required parameter types. - Currently, only widening numeric conversions are performed. - - An array of args to be converted - A ParameterInfo[] whose types will be used as targets - - - - Determines whether this instance can deduce type args for a generic type from the supplied arguments. - - The type to be examined. - The arglist. - The type args to be used. - - true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. - - - - - Return the interfaces implemented by a Type. - - The Type to be examined. - An array of Types for the interfaces. - - - - Return whether or not the given type is a ValueTuple. - - Type. - Whether or not the given type is a ValueTuple. - - - - Return whether or not the given type is a Tuple. - - Type. - Whether or not the given type is a Tuple. - - - - Determines whether the cast to the given type would succeed. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - - - - Casts to a value of the given type if possible. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - The value of the object, if the cast succeeded. - - - - Used for resolving the type difference between objects. - - - - - Gets the shortened type name difference between and . - - The expected object. - The actual object. - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Gets the shortened type name difference between and . - - The expected object . - The actual object . - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Obtain the shortened generic template parameters of the given and , - if they are generic. - - The expected . - The actual . - Shortened generic parameters of the expected . - Shortened generic parameters of the actual . - - - - Obtain a shortened name of the given . - - - - - Shorten the given names by only including the relevant differing namespaces/types, if they differ. - - The expected . - The actual . - The shortened expected name. - The shortened actual name. - - - - Returns whether or not the is generic. - - - - - Returns the fully qualified generic name of a given . - - - - - Reconstruct a generic type name using the provided generic type name, and a - of the template parameters. - - The name of the generic type, including the number of template parameters expected. - A of names of the template parameters of the provided generic type. - - - - Obtain the shortened generic names of the given expected and actual s. - - The expected . - The actual . - The shortened expected generic name. - The shortened actual generic name. - - - - The TypeWrapper class wraps a Type so it may be used in - a platform-independent manner. - - - - - Construct a TypeWrapper for a specified Type. - - - - - Gets the underlying Type on which this TypeWrapper is based. - - - - - Gets the base type of this type as an ITypeInfo - - - - - Gets the Name of the Type - - - - - Gets the FullName of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Returns true if the Type wrapped is T - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type represents a static class. - - - - - Get the display name for this type - - - - - Get the display name for an object of this type, constructed with the specified args. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns an array of custom attributes of the specified type applied to this type - - - - - Returns a value indicating whether the type has an attribute of the specified type. - - - - - - - - Returns a flag indicating whether this type has a method with an attribute of the specified type. - - - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - Encapsulates the ability to increment a value by an amount which may be of a different type. - - - - - Creates a from the specified value if the current instance is able to - use it to increment the on values which it operates. If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values on which it operates. A return value indicates - whether the creation succeeded. - - - - - Provides a convenient shorthand when is - and the default value of represents zero. - - - - - Initializes a new instance of the class. - - The amount by which to increment each time this step is applied. - - Must increment the given value and return the result. - If the result is outside the range representable by , - must throw . If the result does not change due to lack - of precision representable by , must throw . - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Encapsulates the ability to increment a value by an amount - which may be of a different type. - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . A return value indicates - whether the creation succeeded. - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - The target for the action attribute - - - - The Iz class is a synonym for Is intended for use in VB, - which regards Is as a keyword. - - - - - The List class is a helper class with properties and methods - that supply a number of constraints used with lists and collections. - - - - - List.Map returns a ListMapper, which can be used to map - the original collection to another collection. - - - - - - - ListMapper is used to transform a collection used as an actual argument - producing another collection to be used in the assertion. - - - - - Construct a ListMapper based on a collection - - The collection to be transformed - - - - Produces a collection containing all the values of a property - - The collection of property values - - - - - Basic Asserts on strings. - - - - - DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string is not found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - - - - The TestCaseData class represents a set of arguments - and other parameter info to be used for a parameterized - test case. It is derived from TestCaseParameters and adds a - fluent syntax for use in initializing the test case. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the expected result for the test - - The expected result - A modified TestCaseData - - - - Sets the name of the test case - - The modified TestCaseData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Sets the description for the test case - being constructed. - - The description. - The modified TestCaseData instance. - - - - Applies a category to the test - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Marks the test case as explicit. - - - - - Marks the test case as explicit, specifying the reason. - - - - - Ignores this TestCase, specifying the reason. - - The reason. - - - - - Provide the context information of the current test. - This is an adapter for the internal ExecutionContext - class, hiding the internals from the user test. - - - - - Construct a TestContext for an ExecutionContext - - The ExecutionContext to adapt - - - - Get the current test context. This is created - as needed. The user may save the context for - use within a test, but it should not be used - outside the test for which it is created. - - - - - Gets a TextWriter that will send output to the current test result. - - - - - Gets a TextWriter that will send output directly to Console.Error - - - - - Gets a TextWriter for use in displaying immediate progress messages - - - - - TestParameters object holds parameters for the test run, if any are specified - - - - - Static DefaultWorkDirectory is now used as the source - of the public instance property WorkDirectory. This is - a bit odd but necessary to avoid breaking user tests. - - - - - Get a representation of the current test. - - - - - Gets a Representation of the TestResult for the current test. - - - - - Gets the unique name of the Worker that is executing this test. - - - - - Gets the directory containing the current test assembly. - - - - - Gets the directory to be used for outputting files created - by this test run. - - - - - Gets the random generator. - - - The random generator. - - - - - Gets the number of assertions executed - up to this point in the test. - - - - - Get the number of times the current Test has been repeated. This is currently only - set when using the . - TODO: add this to the RepeatAttribute as well - - - - Write the string representation of a boolean value to the current result - - - Write a char to the current result - - - Write a char array to the current result - - - Write the string representation of a double to the current result - - - Write the string representation of an Int32 value to the current result - - - Write the string representation of an Int64 value to the current result - - - Write the string representation of a decimal value to the current result - - - Write the string representation of an object to the current result - - - Write the string representation of a Single value to the current result - - - Write a string to the current result - - - Write the string representation of a UInt32 value to the current result - - - Write the string representation of a UInt64 value to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a line terminator to the current result - - - Write the string representation of a boolean value to the current result followed by a line terminator - - - Write a char to the current result followed by a line terminator - - - Write a char array to the current result followed by a line terminator - - - Write the string representation of a double to the current result followed by a line terminator - - - Write the string representation of an Int32 value to the current result followed by a line terminator - - - Write the string representation of an Int64 value to the current result followed by a line terminator - - - Write the string representation of a decimal value to the current result followed by a line terminator - - - Write the string representation of an object to the current result followed by a line terminator - - - Write the string representation of a Single value to the current result followed by a line terminator - - - Write a string to the current result followed by a line terminator - - - Write the string representation of a UInt32 value to the current result followed by a line terminator - - - Write the string representation of a UInt64 value to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - - This method adds the a new ValueFormatterFactory to the - chain of responsibility used for formatting values in messages. - The scope of the change is the current TestContext. - - The factory delegate - - - - Attach a file to the current test result - - Relative or absolute file path to attachment - Optional description of attachment - - - - This method provides a simplified way to add a ValueFormatter - delegate to the chain of responsibility, creating the factory - delegate internally. It is useful when the Type of the object - is the only criterion for selection of the formatter, since - it can be used without getting involved with a compound function. - - The type supported by this formatter - The ValueFormatter delegate - - - - TestAdapter adapts a Test for consumption by - the user test code. - - - - - Construct a TestAdapter for a Test - - The Test to be adapted - - - - Gets the unique Id of a test - - - - - The name of the test, which may or may not be - the same as the method name. - - - - - The name of the method representing the test. - - - - - The FullName of the test - - - - - The ClassName of the test - - - - - A shallow copy of the properties of the test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - ResultAdapter adapts a TestResult for consumption by - the user test code. - - - - - Construct a ResultAdapter for a TestResult - - The TestResult to be adapted - - - - Gets a ResultState representing the outcome of the test - up to this point in its execution. - - - - - Gets a list of the assertion results generated - up to this point in the test. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - adapts an - for consumption by the user. - - - - - Construct a from a source - . - - - - - Get the first property with the given , if it can be found, otherwise - returns null. - - - - - Indicates whether is found in this - . - - - - - Returns a collection of properties - with the given . - - - - - Returns the count of elements with the given . - - - - - Returns a collection of the property keys. - - - - - The TestFixtureData class represents a set of arguments - and other parameter info to be used for a parameterized - fixture. It is derived from TestFixtureParameters and adds a - fluent syntax for use in initializing the fixture. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the name of the test fixture - - The modified TestFixtureData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Marks the test fixture as explicit. - - - - - Marks the test fixture as explicit, specifying the reason. - - - - - Ignores this TestFixture, specifying the reason. - - The reason. - - - - - TestParameters class holds any named parameters supplied to the test run - - - - - Gets the number of test parameters - - - - - Gets a collection of the test parameter names - - - - - Gets a flag indicating whether a parameter with the specified name exists. - - Name of the parameter - True if it exists, otherwise false - - - - Indexer provides access to the internal dictionary - - Name of the parameter - Value of the parameter or null if not present - - - - Get method is a simple alternative to the indexer - - Name of the parameter - Value of the parameter or null if not present - - - - Get the value of a parameter or a default string - - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Get the value of a parameter or return a default - - The return Type - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Adds a parameter to the list - - Name of the parameter - Value of the parameter - - - - Helper class with properties and methods that supply - constraints that operate on exceptions. - - - - - Creates a constraint specifying an expected exception - - - - - Creates a constraint specifying an exception with a given InnerException - - - - - Creates a constraint specifying an expected TargetInvocationException - - - - - Creates a constraint specifying an expected ArgumentException - - - - - Creates a constraint specifying an expected ArgumentNullException - - - - - Creates a constraint specifying an expected InvalidOperationException - - - - - Creates a constraint specifying that no exception is thrown - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Provides static methods to express conditions - that must be met for the test to succeed. If - any test fails, a warning is issued. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is true - Arguments to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - FrameworkPackageSettings is a static class containing constant values that - are used as keys in setting up a TestPackage. These values are used in - the framework, and set in the runner. Setting values may be a string, int or bool. - - - - - Flag (bool) indicating whether tests are being debugged. - - - - - Flag (bool) indicating whether to pause execution of tests to allow - the user to attach a debugger. - - - - - The InternalTraceLevel for this run. Values are: "Default", - "Off", "Error", "Warning", "Info", "Debug", "Verbose". - Default is "Off". "Debug" and "Verbose" are synonyms. - - - - - Full path of the directory to be used for work and result files. - This path is provided to tests by the framework TestContext. - - - - - Integer value in milliseconds for the default timeout value - for test cases. If not specified, there is no timeout except - as specified by attributes on the tests themselves. - - - - - A TextWriter to which the internal trace will be sent. - - - - - A list of tests to be loaded. - - - - - The number of test threads to run for the assembly. If set to - 1, a single queue is used. If set to 0, tests are executed - directly, without queuing. - - - - - The random seed to be used for this assembly. If specified - as the value reported from a prior run, the framework should - generate identical random values for tests as were used for - that run, provided that no change has been made to the test - assembly. Default is a random value itself. - - - - - If true, execution stops after the first error or failure. - - - - - If true, use of the event queue is suppressed and test events are synchronous. - - - - - The default naming pattern used in generating test names - - - - - Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. - - - - - Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . - - - - - If true, the tests will run on the same thread as the NUnit runner itself - - - - - Provides a platform-independent methods for getting attributes - for use by AttributeConstraint and AttributeExistsConstraint. - - - - - Gets the custom attributes from the given object. - - The actual. - Type of the attribute. - if set to true [inherit]. - A list of the given attribute on the given object. - - - - A MarshalByRefObject that lives forever - - - - - Obtains a lifetime service object to control the lifetime policy for this instance. - - - - From 378bd7a1f2a4f307051417330949b08bc0784f73 Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 15:35:43 +0200 Subject: [PATCH 5/9] revert changes for old test project --- UnitTestGhSA/Properties/AssemblyInfo.cs | 4 ++-- UnitTestGhSA/UnitTestGhSA.csproj | 4 ++-- UnitTestGhSA/UnitTestSetup.cs | 14 +++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/UnitTestGhSA/Properties/AssemblyInfo.cs b/UnitTestGhSA/Properties/AssemblyInfo.cs index a611c72ed..cf0d0acdd 100644 --- a/UnitTestGhSA/Properties/AssemblyInfo.cs +++ b/UnitTestGhSA/Properties/AssemblyInfo.cs @@ -2,11 +2,11 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("UnitTestGsaGH")] +[assembly: AssemblyTitle("UnitTestGhSA")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UnitTestGsaGH")] +[assembly: AssemblyProduct("UnitTestGhSA")] [assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/UnitTestGhSA/UnitTestGhSA.csproj b/UnitTestGhSA/UnitTestGhSA.csproj index 9e6fb7a11..013e3336b 100644 --- a/UnitTestGhSA/UnitTestGhSA.csproj +++ b/UnitTestGhSA/UnitTestGhSA.csproj @@ -9,8 +9,8 @@ {CE4EB299-EA12-48B1-BB13-0C5B83FF0B52} Library Properties - UnitTestGsaGH - UnitTestGsaGH + UnitTestGhSA + UnitTestGhSA v4.8 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} diff --git a/UnitTestGhSA/UnitTestSetup.cs b/UnitTestGhSA/UnitTestSetup.cs index b96fb510c..edd23e398 100644 --- a/UnitTestGhSA/UnitTestSetup.cs +++ b/UnitTestGhSA/UnitTestSetup.cs @@ -20,29 +20,29 @@ public void RunBeforeAnyTests() // Executes once before any test run // load GsaAPI.dll and set process user-rights to GSA installation folder - UnitTestGsaGH.InitiateGsa.LoadRefs(); + UnitTestGhSA.InitiateGsa.LoadRefs(); // use GsaAPI once to open a model and force loading of sectlib.db3 SQL library - UnitTestGsaGH.InitiateGsa.UseGsaAPI(); + UnitTestGhSA.InitiateGsa.UseGsaAPI(); // set units used in the unit-test (kN-m). Avoids conflict with trying to read Rhino doc units - UnitTestGsaGH.InitiateGsa.SetUnits(); + UnitTestGhSA.InitiateGsa.SetUnits(); // add current project (for GSA.gha) to grasshopper folder: string rootfolder = AppDomain.CurrentDomain.BaseDirectory; - rootfolder = rootfolder.Split(new string[] { "UnitTestGsaGH" }, StringSplitOptions.None)[0]; + rootfolder = rootfolder.Split(new string[] { "UnitTestGhSA" }, StringSplitOptions.None)[0]; Grasshopper.Folders.CustomAssemblyFolders.Add(rootfolder); // setup Rhino7 (headless) and resolve assembly conflicts for RhinoCommon.dll and Grasshopper.dll - UnitTestGsaGH.InitiateRhinoGH.LoadRhino7GH(); + UnitTestGhSA.InitiateRhinoGH.LoadRhino7GH(); } [OneTimeTearDown] public void RunAfterAnyTests() { // Executes once after the test run. (Optional) - UnitTestGsaGH.InitiateRhinoGH.ExitInProcess(); + UnitTestGhSA.InitiateRhinoGH.ExitInProcess(); } } namespace ComponentsTest @@ -65,7 +65,7 @@ public void RunAfterAnyTests() } } } -namespace UnitTestGsaGH +namespace UnitTestGhSA { public class InitiateGsa { From 1424604d7b7de896faf3b45cf57eef94c15ff02f Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 15:38:08 +0200 Subject: [PATCH 6/9] revert changes --- .gitignore | 4 ++-- GsaGH.sln | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c469ca2e8..7dad231b3 100644 --- a/.gitignore +++ b/.gitignore @@ -344,8 +344,8 @@ dist/* !dist/manifest.yml ! *.bak -/UnitTestGsaGH/bin -/UnitTestGsaGH/obj +/UnitTestGhSA/bin +/UnitTestGhSA/obj /GsaGH/bin /GsaGH/obj /GsaGHTests/bin diff --git a/GsaGH.sln b/GsaGH.sln index feb350582..cd65c45cd 100644 --- a/GsaGH.sln +++ b/GsaGH.sln @@ -5,7 +5,7 @@ VisualStudioVersion = 17.1.32210.238 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GsaGH", "GsaGH\GsaGH.csproj", "{362F5ED1-BA80-4F21-881D-6BD8784612E4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestGsaGH", "UnitTestGsaGH\UnitTestGsaGH.csproj", "{CE4EB299-EA12-48B1-BB13-0C5B83FF0B52}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestGhSA", "UnitTestGhSA\UnitTestGhSA.csproj", "{CE4EB299-EA12-48B1-BB13-0C5B83FF0B52}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GsaGHTests", "GsaGHTests\GsaGHTests.csproj", "{42A3C97A-09F9-4A87-8E6D-46C9A6682E9C}" EndProject From fb39e4b628ad4912954aef3986164f4f5104ecdf Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Thu, 8 Sep 2022 15:40:44 +0200 Subject: [PATCH 7/9] ignore GsaGHTests --- codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecov.yml b/codecov.yml index 1744e6898..6e054e676 100644 --- a/codecov.yml +++ b/codecov.yml @@ -7,4 +7,4 @@ flags: integration: carryforward: false ignore: - - "ComposGHTests" # ignore folders and all its contents \ No newline at end of file + - "GsaGHTests" # ignore folders and all its contents \ No newline at end of file From 112844a811c2d3916218489e210cf82e58523ed1 Mon Sep 17 00:00:00 2001 From: Kristjan Nielsen Date: Mon, 26 Sep 2022 12:36:17 +0200 Subject: [PATCH 8/9] uprev to 0.9.28 --- GhSA/GsaGHInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GhSA/GsaGHInfo.cs b/GhSA/GsaGHInfo.cs index af13583b2..20427798c 100644 --- a/GhSA/GsaGHInfo.cs +++ b/GhSA/GsaGHInfo.cs @@ -175,7 +175,7 @@ public class GsaGHInfo : GH_AssemblyInfo internal const string Company = "Oasys"; internal const string Copyright = "Copyright © Oasys 1985 - 2022"; internal const string Contact = "https://www.oasys-software.com/"; - internal const string Vers = "0.9.27"; + internal const string Vers = "0.9.28"; internal static bool isBeta = true; internal static string Disclaimer = PluginName + " is pre-release and under active development, including further testing to be undertaken. It is provided \"as-is\" and you bear the risk of using it. Future versions may contain breaking changes. Any files, results, or other types of output information created using " + PluginName + " should not be relied upon without thorough and independent checking. "; internal const string ProductName = "GSA"; From 3e98d5c234eac542b723277e54a6c5dcbb227de2 Mon Sep 17 00:00:00 2001 From: Kristjan Nielsen Date: Mon, 26 Sep 2022 12:55:11 +0200 Subject: [PATCH 9/9] move to GsaGH folder --- .gitignore | 2 + .../GraveyardComp/CreateBeamLoads_OBSOLETE.cs | 578 ----------------- .../GraveyardComp/CreateFaceLoads_OBSOLETE.cs | 608 ------------------ .../CreateGridAreaLoad_OBSOLETE.cs | 246 ------- .../CreateGridLineLoad_OBSOLETE.cs | 246 ------- .../CreateGridPointLoad_OBSOLETE.cs | 165 ----- .../GraveyardComp/CreateNodeLoads_OBSOLETE.cs | 240 ------- .../GraveyardComp/CreateOffset_OBSOLETE.cs | 92 --- .../GraveyardComp/CreateProp2d_OBSOLETE.cs | 400 ------------ GhSA/Components/GraveyardComp/CreateSpring.cs | 107 --- .../GraveyardComp/EditNode_OBSOLETE.cs | 212 ------ GhSA/Components/GraveyardComp/EditSpring.cs | 112 ---- .../GraveyardComp/EditUnits_OBSOLETE.cs | 296 --------- .../GraveyardComp/GetGeometry_OBSOLETE.cs | 267 -------- .../GraveyardComp/Version_OBSOLETE.cs | 68 -- GhSA/Parameters/GsaSpringParam.cs | 312 --------- GsaGH.sln | 4 +- {GhSA => GsaGH}/App.config | 0 .../Components/0_Model/CreateModel.cs | 0 .../Components/0_Model/GetAnalysis.cs | 0 .../Components/0_Model/GetGeometry.cs | 0 .../Components/0_Model/GetLoads.cs | 0 .../Components/0_Model/GetProperties.cs | 0 .../Components/0_Model/OpenModel.cs | 0 .../Components/0_Model/SaveModel.cs | 0 .../Components/1_Properties/CreateBool6.cs | 0 .../Components/1_Properties/CreateMaterial.cs | 0 .../Components/1_Properties/CreateOffset.cs | 0 .../Components/1_Properties/CreateProfile.cs | 0 .../Components/1_Properties/CreateProp2d.cs | 0 .../Components/1_Properties/CreateProp3d.cs | 0 .../Components/1_Properties/CreateSection.cs | 0 .../1_Properties/CreateSectionModifier.cs | 0 .../Components/1_Properties/CustomMaterial.cs | 0 .../Components/1_Properties/EditBool6.cs | 0 .../Components/1_Properties/EditMaterial.cs | 0 .../Components/1_Properties/EditOffset.cs | 0 .../Components/1_Properties/EditProp2d.cs | 0 .../Components/1_Properties/EditProp3d.cs | 0 .../Components/1_Properties/EditSection.cs | 0 .../1_Properties/EditSectionModifier.cs | 0 .../1_Properties/MaterialProperties.cs | 0 .../1_Properties/SectionProperties.cs | 0 .../Components/1_Properties/TaperProfile.cs | 0 .../Components/2_Geometry/CreateElement1d.cs | 0 .../Components/2_Geometry/CreateElement2d.cs | 0 .../Components/2_Geometry/CreateMember1d.cs | 0 .../Components/2_Geometry/CreateMember2d.cs | 0 .../Components/2_Geometry/CreateMember3d.cs | 0 .../Components/2_Geometry/CreateSupport.cs | 0 .../Components/2_Geometry/EditElement1d.cs | 0 .../Components/2_Geometry/EditElement2d.cs | 0 .../Components/2_Geometry/EditElement3d.cs | 0 .../Components/2_Geometry/EditMember1d.cs | 0 .../Components/2_Geometry/EditMember2d.cs | 0 .../Components/2_Geometry/EditMember3d.cs | 0 .../Components/2_Geometry/EditNode.cs | 0 .../Components/2_Geometry/Elem2dFromBrep.cs | 0 .../Components/2_Geometry/ElemFromMem.cs | 0 .../Components/2_Geometry/LocalAxis.cs | 0 .../Components/3_Loads/CreateBeamLoads.cs | 0 .../Components/3_Loads/CreateFaceLoads.cs | 0 .../Components/3_Loads/CreateGravityLoad.cs | 0 .../Components/3_Loads/CreateGridAreaLoad.cs | 0 .../Components/3_Loads/CreateGridLineLoad.cs | 0 .../Components/3_Loads/CreateGridPlane.cs | 0 .../Components/3_Loads/CreateGridPointLoad.cs | 0 .../Components/3_Loads/CreateGridSurface.cs | 0 .../Components/3_Loads/CreateNodeLoads.cs | 0 .../3_Loads/GridPlaneSurfaceProperties.cs | 0 .../Components/3_Loads/LoadProperties.cs | 0 .../Components/4_Analysis/Analyse.cs | 0 .../Components/4_Analysis/AnalysisCaseInfo.cs | 0 .../4_Analysis/CreateAnalysisCase.cs | 0 .../4_Analysis/CreateAnalysisTask.cs | 0 .../4_Analysis/CreateCombinationCase.cs | 0 .../Components/4_Analysis/EditAnalysisTask.cs | 0 .../Components/5_Results/BeamDispResult.cs | 0 .../Components/5_Results/BeamForceResult.cs | 0 .../5_Results/BeamStrainEnergyResult.cs | 0 .../5_Results/Elem1dContourResults.cs | 0 .../5_Results/Elem2dContourResults.cs | 0 .../5_Results/Elem2dDisplacementResult.cs | 0 .../Components/5_Results/Elem2dForceResult.cs | 0 .../5_Results/Elem2dStressResult.cs | 0 .../5_Results/Elem3dDisplacementResult.cs | 0 .../5_Results/Elem3dStressResult.cs | 0 .../5_Results/GlobalPerformanceResults.cs | 0 .../5_Results/NodeContourResults.cs | 0 .../5_Results/NodeDisplacementResult.cs | 0 .../5_Results/NodeReactionForceResult.cs | 0 .../Components/5_Results/SelectResults.cs | 0 .../5_Results/SpringReactionForceResult.cs | 0 .../5_Results/TotalLoadsAndReactionResults.cs | 0 .../Components/GH_OasysComponent.cs | 0 .../GH_OasysTaskCapableComponent.cs | 0 .../GraveyardComp/CreateProfile_OBSOLETE.cs | 0 .../GraveyardComp/EditSection_OBSOLETE.cs | 0 .../GraveyardComp/EditTitles_OBSOLETE.cs | 0 .../GraveyardComp/Elem1dResults_OBSOLETE.cs | 0 .../GraveyardComp/Elem2dResults_OBSOLETE.cs | 0 .../GraveyardComp/Elem3dResults_OBSOLETE.cs | 0 .../GraveyardComp/GetAnalysis_OBSOLETE.cs | 0 .../GraveyardComp/GlobalResult2_OBSOLETE .cs | 0 .../GraveyardComp/GlobalResult_OBSOLETE.cs | 0 .../GraveyardComp/NodeResults_OBSOLETE.cs | 0 {GhSA => GsaGH}/Components/Lab/Version.cs | 0 .../Components/Other/ConvertUnitNumber.cs | 0 .../Components/Other/CreateUnitNumber.cs | 0 {GhSA => GsaGH}/GsaGH.csproj | 15 - {GhSA => GsaGH}/GsaGHInfo.cs | 8 - .../Helpers/Export/ConvertMembers.cs | 0 .../Helpers/Export/ExportMembers.cs | 0 {GhSA => GsaGH}/Helpers/Export/_GsaExport.cs | 0 .../Helpers/Export/_GsaExportElements.cs | 0 .../Helpers/Export/_GsaExportLoads.cs | 0 .../Helpers/Export/_GsaExportNodes.cs | 0 .../Helpers/Export/_GsaExportProperties.cs | 0 {GhSA => GsaGH}/Helpers/LoadMainMenu.cs | 0 {GhSA => GsaGH}/Helpers/PostHog.cs | 0 {GhSA => GsaGH}/Helpers/_Colour.cs | 0 {GhSA => GsaGH}/Helpers/_DeSerialization.cs | 0 {GhSA => GsaGH}/Helpers/_Display.cs | 0 {GhSA => GsaGH}/Helpers/_GetInput.cs | 0 {GhSA => GsaGH}/Helpers/_GhRibbonLayout.cs | 0 {GhSA => GsaGH}/Helpers/_GsaImport.cs | 0 {GhSA => GsaGH}/Helpers/_GsaPath.cs | 0 {GhSA => GsaGH}/Helpers/_GsaProfileConvert.cs | 0 {GhSA => GsaGH}/Helpers/_GsaResultsHelper.cs | 0 {GhSA => GsaGH}/Helpers/_RhinoConversions.cs | 0 {GhSA => GsaGH}/Helpers/_SqlReader.cs | 0 {GhSA => GsaGH}/Parameters/GH_UnitNumber.cs | 0 {GhSA => GsaGH}/Parameters/GsaAnalysisCase.cs | 0 {GhSA => GsaGH}/Parameters/GsaAnalysisTask.cs | 0 {GhSA => GsaGH}/Parameters/GsaBool6Param.cs | 0 .../Parameters/GsaCombinationCase.cs | 0 {GhSA => GsaGH}/Parameters/GsaElem1dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaElem2dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaElem3dParam.cs | 0 .../Parameters/GsaGridPlaneSurfaceParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaLoadParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaMaterial.cs | 0 {GhSA => GsaGH}/Parameters/GsaMem1dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaMem2dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaMem3dParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaModelParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaNodeParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaOffsetParam.cs | 0 {GhSA => GsaGH}/Parameters/GsaProp2d.cs | 0 {GhSA => GsaGH}/Parameters/GsaProp3d.cs | 0 {GhSA => GsaGH}/Parameters/GsaResult.cs | 0 {GhSA => GsaGH}/Parameters/GsaSection.cs | 0 .../Parameters/GsaSectionModifierParam.cs | 0 {GhSA => GsaGH}/Parameters/_ResultLine.cs | 0 {GhSA => GsaGH}/Parameters/_ResultMesh.cs | 0 {GhSA => GsaGH}/Parameters/_ResultPoint.cs | 0 {GhSA => GsaGH}/Parameters/_Titles.cs | 0 {GhSA => GsaGH}/Parameters/_Units.cs | 0 {GhSA => GsaGH}/Properties/AssemblyInfo.cs | 0 {GhSA => GsaGH}/Properties/Icons/Analyse.png | Bin .../Properties/Icons/AnalysisCaseInfo.png | Bin .../Properties/Icons/AnalysisCaseParam.png | Bin .../Properties/Icons/AnalysisTaskParam.png | Bin {GhSA => GsaGH}/Properties/Icons/AreaLoad.png | Bin .../Properties/Icons/BeamDisplacement.png | Bin .../Properties/Icons/BeamForces.png | Bin {GhSA => GsaGH}/Properties/Icons/BeamLoad.png | Bin .../Properties/Icons/Bool6Param.png | Bin .../Properties/Icons/ConvertUnitNumber.png | Bin .../Properties/Icons/CreateAnalysisCase.png | Bin .../Properties/Icons/CreateAnalysisTask.png | Bin .../Properties/Icons/CreateBool6.png | Bin .../Properties/Icons/CreateCombination.png | Bin .../Icons/CreateCombinationCase.png | Bin .../Properties/Icons/CreateElem1d.png | Bin .../Properties/Icons/CreateElem2d.png | Bin .../Properties/Icons/CreateElem3d.png | Bin .../Properties/Icons/CreateElemsFromBreps.png | Bin .../Properties/Icons/CreateElemsFromMems.png | Bin .../Properties/Icons/CreateMaterial.png | Bin .../Properties/Icons/CreateMem1d.png | Bin .../Properties/Icons/CreateMem2d.png | Bin .../Properties/Icons/CreateMem3d.png | Bin .../Properties/Icons/CreateModel.png | Bin .../Properties/Icons/CreateOffset.png | Bin .../Properties/Icons/CreateProfile.png | Bin .../Properties/Icons/CreateProp2d.png | Bin .../Properties/Icons/CreateProp3d.png | Bin .../Properties/Icons/CreateSection.png | Bin .../Icons/CreateSectionModifier.png | Bin .../Properties/Icons/CreateSpring.png | Bin .../Properties/Icons/CreateSupport.png | Bin .../Properties/Icons/CreateUnitNumber.png | Bin .../Properties/Icons/CustomMaterial.png | Bin .../Properties/Icons/Displacement2D.png | Bin .../Properties/Icons/Displacement3D.png | Bin .../Properties/Icons/Documentation.png | Bin .../Properties/Icons/EditAnalysisTask.png | Bin .../Properties/Icons/EditBool6.png | Bin .../Properties/Icons/EditElem1d.png | Bin .../Properties/Icons/EditElem2d.png | Bin .../Properties/Icons/EditElem3d.png | Bin .../Properties/Icons/EditMaterial.png | Bin .../Properties/Icons/EditMem1d.png | Bin .../Properties/Icons/EditMem2d.png | Bin .../Properties/Icons/EditMem3d.png | Bin {GhSA => GsaGH}/Properties/Icons/EditNode.png | Bin .../Properties/Icons/EditOffset.png | Bin .../Properties/Icons/EditProp2d.png | Bin .../Properties/Icons/EditProp3d.png | Bin .../Properties/Icons/EditSection.png | Bin .../Properties/Icons/EditSectionModifier.png | Bin .../Properties/Icons/EditSpring.png | Bin .../Properties/Icons/Elem1dParam.png | Bin .../Properties/Icons/Elem2dParam.png | Bin .../Properties/Icons/Elem3dParam.png | Bin {GhSA => GsaGH}/Properties/Icons/FaceLoad.png | Bin {GhSA => GsaGH}/Properties/Icons/Forces2D.png | Bin {GhSA => GsaGH}/Properties/Icons/Forces3D.png | Bin {GhSA => GsaGH}/Properties/Icons/GSAInfo.png | Bin {GhSA => GsaGH}/Properties/Icons/GSALogo.png | Bin .../Properties/Icons/GSALogo128.png | Bin .../Properties/Icons/GetAnalysisTask.png | Bin .../Properties/Icons/GetGeometry.png | Bin {GhSA => GsaGH}/Properties/Icons/GetLoads.png | Bin .../Properties/Icons/GetSection.png | Bin .../Properties/Icons/GlobalPerformance.png | Bin .../Properties/Icons/GravityLoad.png | Bin .../Properties/Icons/GridPlane.png | Bin .../Properties/Icons/GridPlaneParam.png | Bin .../Properties/Icons/GridPlaneProperties.png | Bin .../Properties/Icons/GridSurface.png | Bin .../Properties/Icons/GsaLogo64.png | Bin {GhSA => GsaGH}/Properties/Icons/LineLoad.png | Bin {GhSA => GsaGH}/Properties/Icons/LoadInfo.png | Bin .../Properties/Icons/LoadParam.png | Bin .../Properties/Icons/LocalAxes.png | Bin .../Properties/Icons/MaterialParam.png | Bin .../Properties/Icons/MaterialProperties.png | Bin .../Properties/Icons/Mem1dParam.png | Bin .../Properties/Icons/Mem2dParam.png | Bin .../Properties/Icons/Mem3dParam.png | Bin .../Properties/Icons/ModelParam.png | Bin .../Properties/Icons/NodeDisplacement.png | Bin {GhSA => GsaGH}/Properties/Icons/NodeLoad.png | Bin .../Properties/Icons/NodeParam.png | Bin .../Properties/Icons/OffsetParam.png | Bin .../Properties/Icons/OpenModel.png | Bin .../Properties/Icons/PointLoad.png | Bin .../Properties/Icons/Prop2dParam.png | Bin .../Properties/Icons/Prop3dParam.png | Bin .../Properties/Icons/ReactionForces.png | Bin {GhSA => GsaGH}/Properties/Icons/Result0D.png | Bin {GhSA => GsaGH}/Properties/Icons/Result1D.png | Bin {GhSA => GsaGH}/Properties/Icons/Result2D.png | Bin {GhSA => GsaGH}/Properties/Icons/Result3D.png | Bin .../Properties/Icons/ResultGlobal.png | Bin .../Properties/Icons/ResultParam.png | Bin .../Properties/Icons/SaveModel.png | Bin .../Properties/Icons/SectionModifierParam.png | Bin .../Properties/Icons/SectionParam.png | Bin .../Properties/Icons/SectionProperties.png | Bin .../Properties/Icons/SelectResult.png | Bin .../Properties/Icons/SpringParam.png | Bin .../Properties/Icons/SpringReactionForces.png | Bin .../Properties/Icons/StrainEnergyDensity.png | Bin {GhSA => GsaGH}/Properties/Icons/Stress2D.png | Bin {GhSA => GsaGH}/Properties/Icons/Stress3D.png | Bin .../Properties/Icons/TaperProfile.png | Bin {GhSA => GsaGH}/Properties/Icons/Titles.png | Bin .../Properties/Icons/TotalLoadAndReaction.png | Bin .../Properties/Icons/UnitParam.png | Bin {GhSA => GsaGH}/Properties/Icons/Units.png | Bin {GhSA => GsaGH}/Properties/Icons/path1220.png | Bin {GhSA => GsaGH}/Properties/Icons/unused.png | Bin .../Properties/Resources.Designer.cs | 0 {GhSA => GsaGH}/Properties/Resources.resx | 0 {GhSA => GsaGH}/UI/AboutBox.Designer.cs | 0 {GhSA => GsaGH}/UI/AboutBox.cs | 0 {GhSA => GsaGH}/UI/AboutBox.resx | 0 {GhSA => GsaGH}/UI/Comp_Bool6.cs | 0 {GhSA => GsaGH}/UI/Comp_Button.cs | 0 {GhSA => GsaGH}/UI/Comp_CheckBox.cs | 0 {GhSA => GsaGH}/UI/Comp_DropDown.cs | 0 {GhSA => GsaGH}/UI/Comp_MultiDropDowns.cs | 0 .../UI/Comp_MultiDropDownsCheckBoxes.cs | 0 .../UI/Comp_MultiDropDownsSlider.cs | 0 {GhSA => GsaGH}/UI/Comp_Profile.cs | 0 {GhSA => GsaGH}/UI/Comp_Releases.cs | 0 {GhSA => GsaGH}/UI/Comp_Slider.cs | 0 {GhSA => GsaGH}/UI/Comp_Support.cs | 0 {GhSA => GsaGH}/UI/Comp_TripleButton.cs | 0 {GhSA => GsaGH}/UI/GraphicButtons.cs | 0 .../UI/UnitSettingsBox.Designer.cs | 0 {GhSA => GsaGH}/UI/UnitSettingsBox.cs | 0 {GhSA => GsaGH}/UI/UnitSettingsBox.resx | 0 {GhSA => GsaGH}/UI/WidthFix.cs | 0 {GhSA => GsaGH}/lib/OasysUnits.dll | Bin {GhSA => GsaGH}/licenses/Newtonsoft | 0 {GhSA => GsaGH}/licenses/README.md | 0 {GhSA => GsaGH}/licenses/UnitsNet | 0 {GhSA => GsaGH}/packages.config | 0 GsaGHTests/GsaGHTests.csproj | 2 +- IntegrationTests/IntegrationTests.csproj | 2 +- .../ComponentsTest/0_Model/OpenTest.cs | 0 .../1_Properties/OffsetTests.cs | 0 .../ComponentsTest/ComponentTestHelper.cs | 0 .../0_Model/ModelTests.cs | 0 .../1_Properties/Bool6Tests.cs | 0 .../1_Properties/OffsetTests.cs | 0 .../1_Properties/Prop2dTests.cs | 0 .../1_Properties/SectionTests.cs | 0 .../2_Geometry/Elem1dTests.cs | 0 .../2_Geometry/Elem2dTests.cs | 0 .../2_Geometry/Mem1dTests .cs | 0 .../2_Geometry/Mem2dTests.cs | 0 .../2_Geometry/NodeTests.cs | 0 .../Properties/AssemblyInfo.cs | 4 +- .../UnitTestGsaGH.csproj | 8 +- .../UnitTestSetup.cs | 14 +- .../packages.config | 0 321 files changed, 19 insertions(+), 3989 deletions(-) delete mode 100644 GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/CreateSpring.cs delete mode 100644 GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/EditSpring.cs delete mode 100644 GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs delete mode 100644 GhSA/Components/GraveyardComp/Version_OBSOLETE.cs delete mode 100644 GhSA/Parameters/GsaSpringParam.cs rename {GhSA => GsaGH}/App.config (100%) rename {GhSA => GsaGH}/Components/0_Model/CreateModel.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetAnalysis.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetGeometry.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetLoads.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/GetProperties.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/OpenModel.cs (100%) rename {GhSA => GsaGH}/Components/0_Model/SaveModel.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateBool6.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateMaterial.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateOffset.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateProfile.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateProp2d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateProp3d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateSection.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CreateSectionModifier.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/CustomMaterial.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditBool6.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditMaterial.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditOffset.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditProp2d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditProp3d.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditSection.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/EditSectionModifier.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/MaterialProperties.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/SectionProperties.cs (100%) rename {GhSA => GsaGH}/Components/1_Properties/TaperProfile.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateElement1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateElement2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateMember1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateMember2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateMember3d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/CreateSupport.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditElement1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditElement2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditElement3d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditMember1d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditMember2d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditMember3d.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/EditNode.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/Elem2dFromBrep.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/ElemFromMem.cs (100%) rename {GhSA => GsaGH}/Components/2_Geometry/LocalAxis.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateBeamLoads.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateFaceLoads.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGravityLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridAreaLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridLineLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridPlane.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridPointLoad.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateGridSurface.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/CreateNodeLoads.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/GridPlaneSurfaceProperties.cs (100%) rename {GhSA => GsaGH}/Components/3_Loads/LoadProperties.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/Analyse.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/AnalysisCaseInfo.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/CreateAnalysisCase.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/CreateAnalysisTask.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/CreateCombinationCase.cs (100%) rename {GhSA => GsaGH}/Components/4_Analysis/EditAnalysisTask.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/BeamDispResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/BeamForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/BeamStrainEnergyResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem1dContourResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dContourResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dDisplacementResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem2dStressResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem3dDisplacementResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/Elem3dStressResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/GlobalPerformanceResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/NodeContourResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/NodeDisplacementResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/NodeReactionForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/SelectResults.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/SpringReactionForceResult.cs (100%) rename {GhSA => GsaGH}/Components/5_Results/TotalLoadsAndReactionResults.cs (100%) rename {GhSA => GsaGH}/Components/GH_OasysComponent.cs (100%) rename {GhSA => GsaGH}/Components/GH_OasysTaskCapableComponent.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/CreateProfile_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditSection_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/EditTitles_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/GlobalResult_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/GraveyardComp/NodeResults_OBSOLETE.cs (100%) rename {GhSA => GsaGH}/Components/Lab/Version.cs (100%) rename {GhSA => GsaGH}/Components/Other/ConvertUnitNumber.cs (100%) rename {GhSA => GsaGH}/Components/Other/CreateUnitNumber.cs (100%) rename {GhSA => GsaGH}/GsaGH.csproj (96%) rename {GhSA => GsaGH}/GsaGHInfo.cs (97%) rename {GhSA => GsaGH}/Helpers/Export/ConvertMembers.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/ExportMembers.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExport.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportElements.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportLoads.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportNodes.cs (100%) rename {GhSA => GsaGH}/Helpers/Export/_GsaExportProperties.cs (100%) rename {GhSA => GsaGH}/Helpers/LoadMainMenu.cs (100%) rename {GhSA => GsaGH}/Helpers/PostHog.cs (100%) rename {GhSA => GsaGH}/Helpers/_Colour.cs (100%) rename {GhSA => GsaGH}/Helpers/_DeSerialization.cs (100%) rename {GhSA => GsaGH}/Helpers/_Display.cs (100%) rename {GhSA => GsaGH}/Helpers/_GetInput.cs (100%) rename {GhSA => GsaGH}/Helpers/_GhRibbonLayout.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaImport.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaPath.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaProfileConvert.cs (100%) rename {GhSA => GsaGH}/Helpers/_GsaResultsHelper.cs (100%) rename {GhSA => GsaGH}/Helpers/_RhinoConversions.cs (100%) rename {GhSA => GsaGH}/Helpers/_SqlReader.cs (100%) rename {GhSA => GsaGH}/Parameters/GH_UnitNumber.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaAnalysisCase.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaAnalysisTask.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaBool6Param.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaCombinationCase.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaElem1dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaElem2dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaElem3dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaGridPlaneSurfaceParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaLoadParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMaterial.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMem1dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMem2dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaMem3dParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaModelParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaNodeParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaOffsetParam.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaProp2d.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaProp3d.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaResult.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaSection.cs (100%) rename {GhSA => GsaGH}/Parameters/GsaSectionModifierParam.cs (100%) rename {GhSA => GsaGH}/Parameters/_ResultLine.cs (100%) rename {GhSA => GsaGH}/Parameters/_ResultMesh.cs (100%) rename {GhSA => GsaGH}/Parameters/_ResultPoint.cs (100%) rename {GhSA => GsaGH}/Parameters/_Titles.cs (100%) rename {GhSA => GsaGH}/Parameters/_Units.cs (100%) rename {GhSA => GsaGH}/Properties/AssemblyInfo.cs (100%) rename {GhSA => GsaGH}/Properties/Icons/Analyse.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AnalysisCaseInfo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AnalysisCaseParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AnalysisTaskParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/AreaLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/BeamDisplacement.png (100%) rename {GhSA => GsaGH}/Properties/Icons/BeamForces.png (100%) rename {GhSA => GsaGH}/Properties/Icons/BeamLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Bool6Param.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ConvertUnitNumber.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateAnalysisCase.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateAnalysisTask.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateBool6.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateCombination.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateCombinationCase.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElemsFromBreps.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateElemsFromMems.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMaterial.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateMem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateModel.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateOffset.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateProfile.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateProp2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateProp3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSection.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSectionModifier.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSpring.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateSupport.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CreateUnitNumber.png (100%) rename {GhSA => GsaGH}/Properties/Icons/CustomMaterial.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Displacement2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Displacement3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Documentation.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditAnalysisTask.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditBool6.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditElem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditElem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditElem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMaterial.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMem1d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMem2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditMem3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditNode.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditOffset.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditProp2d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditProp3d.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditSection.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditSectionModifier.png (100%) rename {GhSA => GsaGH}/Properties/Icons/EditSpring.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Elem1dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Elem2dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Elem3dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/FaceLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Forces2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Forces3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GSAInfo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GSALogo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GSALogo128.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetAnalysisTask.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetGeometry.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetLoads.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GetSection.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GlobalPerformance.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GravityLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridPlane.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridPlaneParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridPlaneProperties.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GridSurface.png (100%) rename {GhSA => GsaGH}/Properties/Icons/GsaLogo64.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LineLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LoadInfo.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LoadParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/LocalAxes.png (100%) rename {GhSA => GsaGH}/Properties/Icons/MaterialParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/MaterialProperties.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Mem1dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Mem2dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Mem3dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ModelParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/NodeDisplacement.png (100%) rename {GhSA => GsaGH}/Properties/Icons/NodeLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/NodeParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/OffsetParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/OpenModel.png (100%) rename {GhSA => GsaGH}/Properties/Icons/PointLoad.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Prop2dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Prop3dParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ReactionForces.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result0D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result1D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Result3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ResultGlobal.png (100%) rename {GhSA => GsaGH}/Properties/Icons/ResultParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SaveModel.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SectionModifierParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SectionParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SectionProperties.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SelectResult.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SpringParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/SpringReactionForces.png (100%) rename {GhSA => GsaGH}/Properties/Icons/StrainEnergyDensity.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Stress2D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Stress3D.png (100%) rename {GhSA => GsaGH}/Properties/Icons/TaperProfile.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Titles.png (100%) rename {GhSA => GsaGH}/Properties/Icons/TotalLoadAndReaction.png (100%) rename {GhSA => GsaGH}/Properties/Icons/UnitParam.png (100%) rename {GhSA => GsaGH}/Properties/Icons/Units.png (100%) rename {GhSA => GsaGH}/Properties/Icons/path1220.png (100%) rename {GhSA => GsaGH}/Properties/Icons/unused.png (100%) rename {GhSA => GsaGH}/Properties/Resources.Designer.cs (100%) rename {GhSA => GsaGH}/Properties/Resources.resx (100%) rename {GhSA => GsaGH}/UI/AboutBox.Designer.cs (100%) rename {GhSA => GsaGH}/UI/AboutBox.cs (100%) rename {GhSA => GsaGH}/UI/AboutBox.resx (100%) rename {GhSA => GsaGH}/UI/Comp_Bool6.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Button.cs (100%) rename {GhSA => GsaGH}/UI/Comp_CheckBox.cs (100%) rename {GhSA => GsaGH}/UI/Comp_DropDown.cs (100%) rename {GhSA => GsaGH}/UI/Comp_MultiDropDowns.cs (100%) rename {GhSA => GsaGH}/UI/Comp_MultiDropDownsCheckBoxes.cs (100%) rename {GhSA => GsaGH}/UI/Comp_MultiDropDownsSlider.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Profile.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Releases.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Slider.cs (100%) rename {GhSA => GsaGH}/UI/Comp_Support.cs (100%) rename {GhSA => GsaGH}/UI/Comp_TripleButton.cs (100%) rename {GhSA => GsaGH}/UI/GraphicButtons.cs (100%) rename {GhSA => GsaGH}/UI/UnitSettingsBox.Designer.cs (100%) rename {GhSA => GsaGH}/UI/UnitSettingsBox.cs (100%) rename {GhSA => GsaGH}/UI/UnitSettingsBox.resx (100%) rename {GhSA => GsaGH}/UI/WidthFix.cs (100%) rename {GhSA => GsaGH}/lib/OasysUnits.dll (100%) rename {GhSA => GsaGH}/licenses/Newtonsoft (100%) rename {GhSA => GsaGH}/licenses/README.md (100%) rename {GhSA => GsaGH}/licenses/UnitsNet (100%) rename {GhSA => GsaGH}/packages.config (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ComponentsTest/0_Model/OpenTest.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ComponentsTest/1_Properties/OffsetTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ComponentsTest/ComponentTestHelper.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/0_Model/ModelTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/1_Properties/Bool6Tests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/1_Properties/OffsetTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/1_Properties/Prop2dTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/1_Properties/SectionTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/2_Geometry/Elem1dTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/2_Geometry/Elem2dTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/2_Geometry/Mem1dTests .cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/2_Geometry/Mem2dTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/ParamsIntegrationTests/2_Geometry/NodeTests.cs (100%) rename {UnitTestGhSA => UnitTestGsaGH}/Properties/AssemblyInfo.cs (85%) rename UnitTestGhSA/UnitTestGhSA.csproj => UnitTestGsaGH/UnitTestGsaGH.csproj (97%) rename {UnitTestGhSA => UnitTestGsaGH}/UnitTestSetup.cs (93%) rename {UnitTestGhSA => UnitTestGsaGH}/packages.config (100%) diff --git a/.gitignore b/.gitignore index ddb536c85..f0109f353 100644 --- a/.gitignore +++ b/.gitignore @@ -354,3 +354,5 @@ dist/* /IntegrationTests/obj /GhSA/bin/x64/Release +/GsaGH/bin/x64/Debug/GPUCache +/GsaGH/bin/x64/Debug diff --git a/GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs deleted file mode 100644 index 142ec556c..000000000 --- a/GhSA/Components/GraveyardComp/CreateBeamLoads_OBSOLETE.cs +++ /dev/null @@ -1,578 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using Grasshopper; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Data; -//using Grasshopper.Kernel.Types; -//using Grasshopper.Kernel.Parameters; -//using Rhino.Geometry; -//using GsaAPI; -//using GhSA.Parameters; - -//namespace GhSA.Components -//{ -// public class CreateBeamLoads_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent -// { -// #region Name and Ribbon Layout -// public CreateBeamLoads_OBSOLETE() -// : base("Create Beam Load", "BeamLoad", "Create GSA Beam Load", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat3()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override Guid ComponentGuid => new Guid("a2bc3c66-eb22-43ec-9936-84d2944be414"); -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.BeamLoad; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// public override void CreateAttributes() -// { -// if (first) -// { -// selecteditem = _mode.ToString(); -// first = false; -// } - -// m_attributes = new UI.DropDownComponentUI(this, SetSelected, dropdownitems, selecteditem, "Load Type"); -// } - -// public void SetSelected(string selected) -// { -// selecteditem = selected; -// switch (selected) -// { -// case "Point": -// Mode1Clicked(); -// break; -// case "Uniform": -// Mode2Clicked(); -// break; -// case "Linear": -// Mode3Clicked(); -// break; -// case "Patch": -// Mode4Clicked(); -// break; -// case "Trilinear": -// Mode5Clicked(); -// break; -// } -// } -// #endregion - -// #region Input and output -// readonly List dropdownitems = new List(new string[] -// { -// "Point", -// "Uniform", -// "Linear", -// "Patch", -// "Trilinear" -// }); - -// string selecteditem; - -// #endregion - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddIntegerParameter("Load case", "LC", "Load case number (default 1)", GH_ParamAccess.item, 1); -// pManager.AddTextParameter("Element list", "El", "List of Elements to apply load to." + System.Environment.NewLine + -// "Element list should take the form:" + System.Environment.NewLine + -// " 1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (PA PB1 PS2 PM3 PA4 M1)" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary.", GH_ParamAccess.item); -// pManager.AddTextParameter("Name", "Na", "Load Name", GH_ParamAccess.item); -// pManager.AddIntegerParameter("Axis", "Ax", "Load axis (default Global). " + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "0 : Global" + -// System.Environment.NewLine + "-1 : Local", GH_ParamAccess.item, 0); -// pManager.AddTextParameter("Direction", "Di", "Load direction (default z)." + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "x" + -// System.Environment.NewLine + "y" + -// System.Environment.NewLine + "z" + -// System.Environment.NewLine + "xx" + -// System.Environment.NewLine + "yy" + -// System.Environment.NewLine + "zz", GH_ParamAccess.item, "z"); -// pManager.AddBooleanParameter("Projected", "Pj", "Projected (default not)", GH_ParamAccess.item, false); -// pManager.AddNumberParameter("Value ", "V", "Load Value ", GH_ParamAccess.item); - -// pManager[0].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; - -// _mode = FoldMode.Uniform; -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Beam Load", "Ld", "GSA Beam Load", GH_ParamAccess.item); -// } - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaBeamLoad beamLoad = new GsaBeamLoad(); - -// // 0 Load case -// int lc = 1; -// GH_Integer gh_lc = new GH_Integer(); -// if (DA.GetData(0, ref gh_lc)) -// GH_Convert.ToInt32(gh_lc, out lc, GH_Conversion.Both); -// beamLoad.BeamLoad.Case = lc; - -// // 1 element/beam list -// // check that user has not inputted Gsa geometry elements here -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(1, ref gh_typ)) -// { -// string type = gh_typ.Value.ToString().ToUpper(); -// if (type.StartsWith("GSA ")) -// { -// Params.Owner.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, -// "You cannot input a Node/Element/Member in ElementList input!" + System.Environment.NewLine + -// "Element list should take the form:" + System.Environment.NewLine + -// "'1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (PA PB1 PS2 PM3 PA4 M1)'" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary."); -// return; -// } -// } - -// // Get Geometry input -// string beamList = ""; -// GH_String gh_bl = new GH_String(); -// if (DA.GetData(1, ref gh_bl)) -// GH_Convert.ToString(gh_bl, out beamList, GH_Conversion.Both); -// //var isNumeric = int.TryParse(beamList, out int n); -// //if (isNumeric) -// // beamList = "PB" + n; -// beamLoad.BeamLoad.Elements = beamList; - -// // 2 Name -// string name = ""; -// GH_String gh_name = new GH_String(); -// if (DA.GetData(2, ref gh_name)) -// { -// if (GH_Convert.ToString(gh_name, out name, GH_Conversion.Both)) -// beamLoad.BeamLoad.Name = name; -// } - -// // 3 axis -// int axis = 0; -// beamLoad.BeamLoad.AxisProperty = 0; //Note there is currently a bug/undocumented in GsaAPI that cannot translate an integer into axis type (Global, Local or edformed local) -// GH_Integer gh_ax = new GH_Integer(); -// if (DA.GetData(3, ref gh_ax)) -// { -// GH_Convert.ToInt32(gh_ax, out axis, GH_Conversion.Both); -// if (axis == 0 || axis == -1) -// beamLoad.BeamLoad.AxisProperty = axis; -// } - -// // 4 direction -// string dir = "Z"; -// Direction direc = Direction.Z; - -// GH_String gh_dir = new GH_String(); -// if (DA.GetData(4, ref gh_dir)) -// GH_Convert.ToString(gh_dir, out dir, GH_Conversion.Both); -// dir = dir.ToUpper().Trim(); -// if (dir == "X") -// direc = Direction.X; -// if (dir == "Y") -// direc = Direction.Y; -// if (dir == "XX") -// direc = Direction.XX; -// if (dir == "YY") -// direc = Direction.YY; -// if (dir == "ZZ") -// direc = Direction.ZZ; - -// beamLoad.BeamLoad.Direction = direc; - -// // 5 projection -// bool prj = false; -// GH_Boolean gh_prj = new GH_Boolean(); -// if (DA.GetData(5, ref gh_prj)) -// GH_Convert.ToBoolean(gh_prj, out prj, GH_Conversion.Both); -// beamLoad.BeamLoad.IsProjected = prj; - -// // 6 value (1) -// double load1 = 0; -// if (DA.GetData(6, ref load1)) -// { -// if (direc == Direction.Z) -// load1 *= -1000; //convert to kN -// else -// load1 *= 1000; -// } - - -// switch (_mode) -// { -// case FoldMode.Point: -// if (_mode == FoldMode.Point) -// { -// beamLoad.BeamLoad.Type = BeamLoadType.POINT; - -// // 7 pos (1) -// double pos = 0; -// if (DA.GetData(7, ref pos)) -// pos *= -1; - -// // set position and value -// beamLoad.BeamLoad.SetValue(0, load1); -// beamLoad.BeamLoad.SetPosition(0, pos); -// } -// break; - -// case FoldMode.Uniform: -// if (_mode == FoldMode.Uniform) -// { -// beamLoad.BeamLoad.Type = BeamLoadType.UNIFORM; -// // set value -// beamLoad.BeamLoad.SetValue(0, load1); -// } -// break; - -// case FoldMode.Linear: -// if (_mode == FoldMode.Linear) -// { -// beamLoad.BeamLoad.Type = BeamLoadType.LINEAR; - -// // 6 value (2) -// double load2 = 0; -// if (DA.GetData(7, ref load2)) -// { -// if (direc == Direction.Z) -// load2 *= -1000; //convert to kN -// else -// load2 *= 1000; -// } - -// // set value -// beamLoad.BeamLoad.SetValue(0, load1); -// beamLoad.BeamLoad.SetValue(1, load2); -// } -// break; - -// case FoldMode.Patch: -// if (_mode == FoldMode.Patch) -// { -// beamLoad.BeamLoad.Type = BeamLoadType.PATCH; - -// // 7 pos (1) -// double pos1 = 0; -// if (DA.GetData(7, ref pos1)) -// pos1 *= -1; - -// // 9 pos (2) -// double pos2 = 1; -// if (DA.GetData(9, ref pos2)) -// pos2 *= -1; - -// // 8 value (2) -// double load2 = 0; -// if (DA.GetData(8, ref load2)) -// { -// if (direc == Direction.Z) -// load2 *= -1000; //convert to kN -// else -// load2 *= 1000; -// } - -// // set value -// beamLoad.BeamLoad.SetValue(0, load1); -// beamLoad.BeamLoad.SetValue(1, load2); -// beamLoad.BeamLoad.SetPosition(0, pos1); -// beamLoad.BeamLoad.SetPosition(1, pos2); -// } -// break; - -// case FoldMode.Trilinear: -// if (_mode == FoldMode.Trilinear) -// { -// beamLoad.BeamLoad.Type = BeamLoadType.TRILINEAR; - -// // 7 pos (1) -// double pos1 = 0; -// if (DA.GetData(7, ref pos1)) -// pos1 *= -1; - -// // 9 pos (2) -// double pos2 = 1; -// if (DA.GetData(9, ref pos2)) -// pos2 *= -1; - -// // 8 value (2) -// double load2 = 0; -// if (DA.GetData(8, ref load2)) -// { -// if (direc == Direction.Z) -// load2 *= -1000; //convert to kN -// else -// load2 *= 1000; -// } - -// // set value -// beamLoad.BeamLoad.SetValue(0, load1); -// beamLoad.BeamLoad.SetValue(1, load2); -// beamLoad.BeamLoad.SetPosition(0, pos1); -// beamLoad.BeamLoad.SetPosition(1, pos2); -// } -// break; - -// default: -// throw new ArgumentOutOfRangeException(); -// } - -// GsaLoad gsaLoad = new GsaLoad(beamLoad); -// DA.SetData(0, new GsaLoadGoo(gsaLoad)); -// } - -// #region menu override -// private enum FoldMode -// { -// Point, -// Uniform, -// Linear, -// Patch, -// Trilinear -// } -// private bool first = true; -// private FoldMode _mode = FoldMode.Uniform; - -// private void Mode1Clicked() -// { -// if (_mode == FoldMode.Point) -// return; - -// RecordUndoEvent("Point Parameters"); -// _mode = FoldMode.Point; - -// //remove input parameters -// while (Params.Input.Count > 7) -// Params.UnregisterInputParameter(Params.Input[7], true); -// Params.RegisterInputParam(new Param_Number()); - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// private void Mode2Clicked() -// { -// if (_mode == FoldMode.Uniform) -// return; - -// RecordUndoEvent("Uniform Parameters"); -// _mode = FoldMode.Uniform; - -// //remove input parameters -// while (Params.Input.Count > 7) -// Params.UnregisterInputParameter(Params.Input[7], true); - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// private void Mode3Clicked() -// { -// if (_mode == FoldMode.Linear) -// return; - -// RecordUndoEvent("Linear Parameters"); -// _mode = FoldMode.Linear; - -// //remove input parameters -// while (Params.Input.Count > 7) -// Params.UnregisterInputParameter(Params.Input[7], true); - -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// private void Mode4Clicked() -// { -// if (_mode == FoldMode.Patch) -// return; - -// RecordUndoEvent("Patch Parameters"); -// if (_mode != FoldMode.Trilinear) -// { -// //remove input parameters -// while (Params.Input.Count > 7) -// Params.UnregisterInputParameter(Params.Input[7], true); - -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// } - -// _mode = FoldMode.Patch; -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// private void Mode5Clicked() -// { -// if (_mode == FoldMode.Trilinear) -// return; - -// RecordUndoEvent("Trilinear Parameters"); -// if (_mode != FoldMode.Patch) -// { -// //remove input parameters -// while (Params.Input.Count > 7) -// Params.UnregisterInputParameter(Params.Input[7], true); - -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.Trilinear; -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// #endregion - -// #region (de)serialization -// public override bool Write(GH_IO.Serialization.GH_IWriter writer) -// { -// writer.SetInt32("Mode", (int)_mode); -// writer.SetString("select", selecteditem); -// return base.Write(writer); -// } -// public override bool Read(GH_IO.Serialization.GH_IReader reader) -// { -// _mode = (FoldMode)reader.GetInt32("Mode"); -// selecteditem = reader.GetString("select"); -// this.CreateAttributes(); -// return base.Read(reader); -// } - -// bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) -// { -// return null; -// } -// bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// #endregion -// #region IGH_VariableParameterComponent null implementation -// void IGH_VariableParameterComponent.VariableParameterMaintenance() -// { -// if (_mode == FoldMode.Point) -// { -// Params.Input[6].NickName = "V"; -// Params.Input[6].Name = "Value"; -// Params.Input[6].Description = "Load Value"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = false; - -// Params.Input[7].NickName = "t"; -// Params.Input[7].Name = "Position (%)"; -// Params.Input[7].Description = "Line parameter where point load act (between 0.0 and 1.0)"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = true; -// } - -// if (_mode == FoldMode.Uniform) -// { -// Params.Input[6].NickName = "V"; -// Params.Input[6].Name = "Load (kN/m)"; -// Params.Input[6].Description = "Load value (kN/m)"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = false; -// } - -// if (_mode == FoldMode.Linear) -// { -// Params.Input[6].NickName = "V1"; -// Params.Input[6].Name = "Value Start"; -// Params.Input[6].Description = "Load Value at Beam Start"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = true; - -// Params.Input[7].NickName = "V2"; -// Params.Input[7].Name = "Value End (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[7].Description = "Load Value at Beam End (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = true; -// } - -// if (_mode == FoldMode.Patch) -// { -// Params.Input[6].NickName = "V1"; -// Params.Input[6].Name = "Load t1 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[6].Description = "Load Value at Position 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = true; - -// Params.Input[7].NickName = "t1"; -// Params.Input[7].Name = "Position 1 (%)"; -// Params.Input[7].Description = "Line parameter where patch load begins (between 0.0 and 1.0, but less than t2)"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = true; - -// Params.Input[8].NickName = "V2"; -// Params.Input[8].Name = "Load t2 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[8].Description = "Load Value at Position 2 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[8].Access = GH_ParamAccess.item; -// Params.Input[8].Optional = true; - -// Params.Input[9].NickName = "t2"; -// Params.Input[9].Name = "Position 2 (%)"; -// Params.Input[9].Description = "Line parameter where patch load ends (between 0.0 and 1.0, but bigger than t1)"; -// Params.Input[9].Access = GH_ParamAccess.item; -// Params.Input[9].Optional = true; -// } - -// if (_mode == FoldMode.Trilinear) -// { -// Params.Input[6].NickName = "V1"; -// Params.Input[6].Name = "Load t1 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[6].Description = "Load Value at Position 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = true; - -// Params.Input[7].NickName = "t1"; -// Params.Input[7].Name = "Position 1 (%)"; -// Params.Input[7].Description = "Line parameter where L1 applies (between 0.0 and 1.0, but less than t2)"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = true; - -// Params.Input[8].NickName = "V2"; -// Params.Input[8].Name = "Load t2 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[8].Description = "Load Value at Position 2 (" + Units.Force + "/" + Units.LengthUnitGeometry + ")"; -// Params.Input[8].Access = GH_ParamAccess.item; -// Params.Input[8].Optional = true; - -// Params.Input[9].NickName = "t2"; -// Params.Input[9].Name = "Position 2 (%)"; -// Params.Input[9].Description = "Line parameter where L2 applies (between 0.0 and 1.0, but bigger than t1)"; -// Params.Input[9].Access = GH_ParamAccess.item; -// Params.Input[9].Optional = true; -// } -// } -// #endregion -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs deleted file mode 100644 index 892f89b3f..000000000 --- a/GhSA/Components/GraveyardComp/CreateFaceLoads_OBSOLETE.cs +++ /dev/null @@ -1,608 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using Grasshopper; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Data; -//using Grasshopper.Kernel.Types; -//using Grasshopper.Kernel.Parameters; -//using Rhino.Geometry; -//using GsaAPI; -//using GhSA.Parameters; - -//namespace GhSA.Components -//{ -// public class CreateFaceLoads_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent -// { -// #region Name and Ribbon Layout -// public CreateFaceLoads_OBSOLETE() -// : base("Create Face Load", "FaceLoad", "Create GSA Face Load", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat3()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override Guid ComponentGuid => new Guid("55aeaf97-ef0c-4061-a391-a6419448a0b5"); -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.FaceLoad; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// public override void CreateAttributes() -// { -// if (first) -// { -// selecteditem = _mode.ToString(); -// first = false; -// } - -// m_attributes = new UI.DropDownComponentUI(this, SetSelected, dropdownitems, selecteditem, "Load Type"); -// } - -// public void SetSelected(string selected) -// { -// selecteditem = selected; -// switch (selected) -// { -// case "Uniform": -// Mode1Clicked(); -// break; -// case "Variable": -// Mode2Clicked(); -// break; -// case "Point": -// Mode3Clicked(); -// break; -// case "Edge": -// Mode4Clicked(); -// break; -// } -// } -// #endregion - -// #region Input and output -// readonly List dropdownitems = new List(new string[] -// { -// "Uniform", -// "Variable", -// "Point", -// "Edge" -// }); - -// string selecteditem; - -// #endregion - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddIntegerParameter("Load case", "LC", "Load case number (default 1)", GH_ParamAccess.item, 1); -// pManager.AddTextParameter("Element list", "El", "List of Elements to apply load to." + System.Environment.NewLine + -// "Element list should take the form:" + System.Environment.NewLine + -// " 1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (PA PB1 PS2 PM3 PA4 M1)" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary.", GH_ParamAccess.item); -// pManager.AddTextParameter("Name", "Na", "Load Name", GH_ParamAccess.item); -// pManager.AddIntegerParameter("Axis", "Ax", "Load axis (default Local). " + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "0 : Global" + -// System.Environment.NewLine + "-1 : Local", GH_ParamAccess.item, -1); -// pManager.AddTextParameter("Direction", "Di", "Load direction (default z)." + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "x" + -// System.Environment.NewLine + "y" + -// System.Environment.NewLine + "z", GH_ParamAccess.item, "z"); -// pManager.AddBooleanParameter("Projected", "Pj", "Projected (default not)", GH_ParamAccess.item, false); -// pManager.AddNumberParameter("Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)", "V", "Load Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)", GH_ParamAccess.item); - -// pManager[0].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; - -// _mode = FoldMode.Uniform; -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Face Load", "Ld", "GSA Face Load", GH_ParamAccess.item); -// } - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaFaceLoad faceLoad = new GsaFaceLoad(); - -// // 0 Load case -// int lc = 1; -// GH_Integer gh_lc = new GH_Integer(); -// if (DA.GetData(0, ref gh_lc)) -// GH_Convert.ToInt32(gh_lc, out lc, GH_Conversion.Both); -// faceLoad.FaceLoad.Case = lc; - -// // 1 element/beam list -// // check that user has not inputted Gsa geometry elements here -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(1, ref gh_typ)) -// { -// string type = gh_typ.Value.ToString().ToUpper(); -// if (type.StartsWith("GSA ")) -// { -// Params.Owner.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, -// "You cannot input a Node/Element/Member in ElementList input!" + System.Environment.NewLine + -// "Element list should take the form:" + System.Environment.NewLine + -// "'1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (PA PB1 PS2 PM3 PA4 M1)'" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary."); -// return; -// } -// } -// string elemList = ""; -// GH_String gh_el = new GH_String(); -// if (DA.GetData(1, ref gh_el)) -// GH_Convert.ToString(gh_el, out elemList, GH_Conversion.Both); -// //var isNumeric = int.TryParse(elemList, out int n); -// //if (isNumeric) -// // elemList = "PA" + n; - -// faceLoad.FaceLoad.Elements = elemList; - -// // 2 Name -// string name = ""; -// GH_String gh_name = new GH_String(); -// if (DA.GetData(2, ref gh_name)) -// { -// if (GH_Convert.ToString(gh_name, out name, GH_Conversion.Both)) -// faceLoad.FaceLoad.Name = name; -// } - -// // 3 axis -// int axis = -1; -// faceLoad.FaceLoad.AxisProperty = 0; //Note there is currently a bug/undocumented in GsaAPI that cannot translate an integer into axis type (Global, Local or edformed local) -// GH_Integer gh_ax = new GH_Integer(); -// if (DA.GetData(3, ref gh_ax)) -// { -// GH_Convert.ToInt32(gh_ax, out axis, GH_Conversion.Both); -// if (axis == 0 || axis == -1) -// faceLoad.FaceLoad.AxisProperty = axis; -// } - -// // 4 direction -// string dir = "Z"; -// Direction direc = Direction.Z; - -// GH_String gh_dir = new GH_String(); -// if (DA.GetData(4, ref gh_dir)) -// GH_Convert.ToString(gh_dir, out dir, GH_Conversion.Both); -// dir = dir.ToUpper().Trim(); -// if (dir == "X") -// direc = Direction.X; -// if (dir == "Y") -// direc = Direction.Y; - -// faceLoad.FaceLoad.Direction = direc; - -// switch (_mode) -// { -// case FoldMode.Uniform: -// if (_mode == FoldMode.Uniform) -// { -// faceLoad.FaceLoad.Type = FaceLoadType.CONSTANT; - -// //projection -// bool prj = false; -// GH_Boolean gh_prj = new GH_Boolean(); -// if (DA.GetData(5, ref gh_prj)) -// GH_Convert.ToBoolean(gh_prj, out prj, GH_Conversion.Both); -// faceLoad.FaceLoad.IsProjected = prj; - - -// double load1 = 0; -// if (DA.GetData(6, ref load1)) -// { -// if (direc == Direction.Z) -// load1 *= -1000; //convert to kN -// else -// load1 *= 1000; -// } - -// // set position and value -// faceLoad.FaceLoad.SetValue(0, load1); -// } -// break; - -// case FoldMode.Variable: -// if (_mode == FoldMode.Variable) -// { -// faceLoad.FaceLoad.Type = FaceLoadType.GENERAL; - -// //projection -// bool prj = false; -// GH_Boolean gh_prj = new GH_Boolean(); -// if (DA.GetData(5, ref gh_prj)) -// GH_Convert.ToBoolean(gh_prj, out prj, GH_Conversion.Both); -// faceLoad.FaceLoad.IsProjected = prj; - -// double load1 = 0; -// if (DA.GetData(6, ref load1)) -// { -// if (direc == Direction.Z) -// load1 *= -1000; //convert to kN -// else -// load1 *= 1000; -// } -// double load2 = 0; -// if (DA.GetData(7, ref load2)) -// { -// if (direc == Direction.Z) -// load2 *= -1000; //convert to kN -// else -// load2 *= 1000; -// } -// double load3 = 0; -// if (DA.GetData(8, ref load3)) -// { -// if (direc == Direction.Z) -// load3 *= -1000; //convert to kN -// else -// load3 *= 1000; -// } -// double load4 = 0; -// if (DA.GetData(9, ref load4)) -// { -// if (direc == Direction.Z) -// load4 *= -1000; //convert to kN -// else -// load4 *= 1000; -// } - -// // set value -// faceLoad.FaceLoad.SetValue(0, load1); -// faceLoad.FaceLoad.SetValue(1, load2); -// faceLoad.FaceLoad.SetValue(2, load3); -// faceLoad.FaceLoad.SetValue(3, load4); -// } -// break; - -// case FoldMode.Point: -// if (_mode == FoldMode.Point) -// { -// faceLoad.FaceLoad.Type = FaceLoadType.POINT; - -// //projection -// bool prj = false; -// GH_Boolean gh_prj = new GH_Boolean(); -// if (DA.GetData(5, ref gh_prj)) -// GH_Convert.ToBoolean(gh_prj, out prj, GH_Conversion.Both); -// faceLoad.FaceLoad.IsProjected = prj; - -// double load1 = 0; -// if (DA.GetData(6, ref load1)) -// { -// if (direc == Direction.Z) -// load1 *= -1000; //convert to kN -// else -// load1 *= 1000; -// } -// double r = 0; -// DA.GetData(7, ref r); - -// double s = 0; -// DA.GetData(8, ref s); - -// // set position and value -// faceLoad.FaceLoad.SetValue(0, load1); -// //faceLoad.Position.X = r; //note Vector2 currently only get in GsaAPI -// //faceLoad.Position.Y = s; - -// } -// break; - -// case FoldMode.Edge: -// if (_mode == FoldMode.Edge) -// { -// //faceLoad.Type = BeamLoadType.EDGE; GsaAPI implementation missing - -// // get data -// int edge = 1; -// DA.GetData(5, ref edge); - -// double load1 = 0; -// if (DA.GetData(6, ref load1)) -// { -// if (direc == Direction.Z) -// load1 *= -1000; //convert to kN -// else -// load1 *= 1000; -// } - -// double load2 = 0; -// if (DA.GetData(7, ref load2)) -// { -// if (direc == Direction.Z) -// load2 *= -1000; //convert to kN -// else -// load2 *= 1000; -// } - -// // set value -// faceLoad.FaceLoad.SetValue(0, load1); -// faceLoad.FaceLoad.SetValue(1, load2); -// //faceLoad.Edge = edge; //note implementation of edge-load is not yet supported in GsaAPI - -// faceLoad = null; -// } -// break; - -// default: -// throw new ArgumentOutOfRangeException(); -// } - -// GsaLoad gsaLoad = new GsaLoad(faceLoad); -// DA.SetData(0, new GsaLoadGoo(gsaLoad)); -// } - -// #region menu override -// private enum FoldMode -// { -// Uniform, -// Variable, -// Point, -// Edge -// } - -// private FoldMode _mode = FoldMode.Uniform; -// private bool first = true; -// private void Mode1Clicked() -// { -// if (_mode == FoldMode.Uniform) -// return; - -// RecordUndoEvent("Uniform Parameters"); -// //remove input parameters -// if (_mode == FoldMode.Edge) -// { -// while (Params.Input.Count > 5) -// Params.UnregisterInputParameter(Params.Input[5], true); -// //add input parameters -// Params.RegisterInputParam(new Param_Boolean()); -// Params.RegisterInputParam(new Param_Number()); -// } -// else -// { -// while (Params.Input.Count > 6) -// Params.UnregisterInputParameter(Params.Input[6], true); -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.Uniform; -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// private void Mode2Clicked() -// { -// if (_mode == FoldMode.Variable) -// return; - -// RecordUndoEvent("Variable Parameters"); -// //remove input parameters -// if (_mode == FoldMode.Edge) -// { -// while (Params.Input.Count > 5) -// Params.UnregisterInputParameter(Params.Input[5], true); -// //add input parameters -// Params.RegisterInputParam(new Param_Boolean()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// } -// else -// { -// while (Params.Input.Count > 6) -// Params.UnregisterInputParameter(Params.Input[6], true); -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.Variable; -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// private void Mode3Clicked() -// { -// if (_mode == FoldMode.Point) -// return; - -// RecordUndoEvent("Point Parameters"); -// //remove input parameters -// if (_mode == FoldMode.Edge) -// { -// while (Params.Input.Count > 5) -// Params.UnregisterInputParameter(Params.Input[5], true); -// //add input parameters -// Params.RegisterInputParam(new Param_Boolean()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// } -// else -// { -// while (Params.Input.Count > 6) -// Params.UnregisterInputParameter(Params.Input[6], true); -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.Point; -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// private void Mode4Clicked() -// { -// if (_mode == FoldMode.Edge) -// return; - -// RecordUndoEvent("Edge Parameters"); - -// //remove input parameters -// while (Params.Input.Count > 5) -// Params.UnregisterInputParameter(Params.Input[5], true); - -// //add input parameters -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); -// Params.RegisterInputParam(new Param_Number()); - - -// _mode = FoldMode.Edge; -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// #endregion - -// #region (de)serialization -// public override bool Write(GH_IO.Serialization.GH_IWriter writer) -// { -// writer.SetInt32("Mode", (int)_mode); -// writer.SetString("select", selecteditem); -// return base.Write(writer); -// } -// public override bool Read(GH_IO.Serialization.GH_IReader reader) -// { -// _mode = (FoldMode)reader.GetInt32("Mode"); -// selecteditem = reader.GetString("select"); -// this.CreateAttributes(); -// return base.Read(reader); -// } - -// bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) -// { -// return null; -// } -// bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// #endregion -// #region IGH_VariableParameterComponent null implementation -// void IGH_VariableParameterComponent.VariableParameterMaintenance() -// { -// if (_mode == FoldMode.Uniform) -// { -// Params.Input[5].NickName = "Pj"; -// Params.Input[5].Name = "Projected"; -// Params.Input[5].Description = "Projected (default not)"; -// Params.Input[5].Access = GH_ParamAccess.item; -// Params.Input[5].Optional = true; - -// Params.Input[6].NickName = "V"; -// Params.Input[6].Name = "Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Description = "Load Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = false; -// } - -// if (_mode == FoldMode.Variable) -// { -// Params.Input[5].NickName = "Pj"; -// Params.Input[5].Name = "Projected"; -// Params.Input[5].Description = "Projected (default not)"; -// Params.Input[5].Access = GH_ParamAccess.item; -// Params.Input[5].Optional = true; - -// Params.Input[6].NickName = "V1"; -// Params.Input[6].Name = "Value 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Description = "Load Value Corner 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = true; - -// Params.Input[7].NickName = "V2"; -// Params.Input[7].Name = "Value 2 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[7].Description = "Load Value Corner 2 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = true; - -// Params.Input[8].NickName = "V3"; -// Params.Input[8].Name = "Value 3 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[8].Description = "Load Value Corner 3 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[8].Access = GH_ParamAccess.item; -// Params.Input[8].Optional = true; - -// Params.Input[9].NickName = "V4"; -// Params.Input[9].Name = "Value 4 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[9].Description = "Load Value Corner 4 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[9].Access = GH_ParamAccess.item; -// Params.Input[9].Optional = true; -// } - -// if (_mode == FoldMode.Point) -// { -// Params.Input[5].NickName = "Pj"; -// Params.Input[5].Name = "Projected"; -// Params.Input[5].Description = "Projected (default not)"; -// Params.Input[5].Access = GH_ParamAccess.item; -// Params.Input[5].Optional = true; - -// Params.Input[6].NickName = "V"; -// Params.Input[6].Name = "Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Description = "Load Value Corner 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = false; - -// Params.Input[7].NickName = "r"; -// Params.Input[7].Name = "Position r"; -// Params.Input[7].Description = "The position r of the point load to be specified in ( r , s )" + -// System.Environment.NewLine + "coordinates based on two-dimensional shape function." + -// System.Environment.NewLine + " • Coordinates vary from −1 to 1 for Quad 4 and Quad 8." + -// System.Environment.NewLine + " • Coordinates vary from 0 to 1 for Triangle 3 and Triangle 6"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = true; - -// Params.Input[8].NickName = "s"; -// Params.Input[8].Name = "Position s"; -// Params.Input[8].Description = "The position s of the point load to be specified in ( r , s )" + -// System.Environment.NewLine + "coordinates based on two-dimensional shape function." + -// System.Environment.NewLine + " • Coordinates vary from −1 to 1 for Quad 4 and Quad 8." + -// System.Environment.NewLine + " • Coordinates vary from 0 to 1 for Triangle 3 and Triangle 6"; -// Params.Input[8].Access = GH_ParamAccess.item; -// Params.Input[8].Optional = true; -// } - -// if (_mode == FoldMode.Edge) -// { -// Params.Input[5].NickName = "Ed"; -// Params.Input[5].Name = "Edge"; -// Params.Input[5].Description = "Edge (1, 2, 3 or 4)"; -// Params.Input[5].Access = GH_ParamAccess.item; -// Params.Input[5].Optional = false; - -// Params.Input[6].NickName = "V1"; -// Params.Input[6].Name = "Value 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Description = "Load Value Corner 1 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[6].Access = GH_ParamAccess.item; -// Params.Input[6].Optional = false; - -// Params.Input[7].NickName = "V2"; -// Params.Input[7].Name = "Value 2 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[7].Description = "Load Value Corner 2 (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)"; -// Params.Input[7].Access = GH_ParamAccess.item; -// Params.Input[7].Optional = false; -// } -// } -// #endregion -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs deleted file mode 100644 index 1a708a0d3..000000000 --- a/GhSA/Components/GraveyardComp/CreateGridAreaLoad_OBSOLETE.cs +++ /dev/null @@ -1,246 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using Rhino.Geometry; -//using GhSA.Parameters; - -//namespace GhSA.Components -//{ -// public class CreateGridAreaLoad_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// public CreateGridAreaLoad_OBSOLETE() -// : base("Create Grid Area Load", "AreaLoad", "Create GSA Grid Area Load", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat3()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override Guid ComponentGuid => new Guid("9d775938-69fc-441f-b766-9cd1d8259e5a"); -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GridAreaLoad; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// #endregion - -// #region input and output -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddIntegerParameter("Load case", "LC", "Load case number (default 1)", GH_ParamAccess.item, 1); -// pManager.AddBrepParameter("Brep", "B", "(Optional) Brep. If no input the whole plane method will be used. If both Grid Plane Surface and Brep are inputted, this Brep will be projected onto the Grid Plane.", GH_ParamAccess.item); -// pManager.AddGenericParameter("Grid Plane Surface", "GPS", "Grid Plane Surface or Plane (optional). If no input here then the brep's best-fit plane will be used", GH_ParamAccess.item); -// pManager.AddTextParameter("Direction", "Di", "Load direction (default z)." + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "x" + -// System.Environment.NewLine + "y" + -// System.Environment.NewLine + "z", GH_ParamAccess.item, "z"); -// pManager.AddIntegerParameter("Axis", "Ax", "Load axis (default Global). " + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "0 : Global" + -// System.Environment.NewLine + "-1 : Local", GH_ParamAccess.item, 0); -// pManager.AddBooleanParameter("Projected", "Pj", "Projected (default not)", GH_ParamAccess.item, false); -// pManager.AddTextParameter("Name", "Na", "Load Name", GH_ParamAccess.item); -// pManager.AddNumberParameter("Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)", "V", "Load Value (" + Units.Force + "/" + Units.LengthUnitGeometry + "\xB2)", GH_ParamAccess.item); - - -// pManager[0].Optional = true; -// pManager[1].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; -// pManager[6].Optional = true; -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Grid Area Load", "Ld", "GSA Grid Area Load", GH_ParamAccess.item); -// } -// #endregion -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaGridAreaLoad gridareaload = new GsaGridAreaLoad(); - -// // 0 Load case -// int lc = 1; -// GH_Integer gh_lc = new GH_Integer(); -// if (DA.GetData(0, ref gh_lc)) -// GH_Convert.ToInt32(gh_lc, out lc, GH_Conversion.Both); -// gridareaload.GridAreaLoad.Case = lc; - -// // Do plane input first as to see if we need to project polyline onto grid plane -// // 2 Plane -// Plane pln = Plane.WorldXY; -// bool planeSet = false; -// GsaGridPlaneSurface grdplnsrf = new GsaGridPlaneSurface(); -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(2, ref gh_typ)) -// { -// if (gh_typ.Value is GsaGridPlaneSurfaceGoo) -// { -// GsaGridPlaneSurface temppln = new GsaGridPlaneSurface(); -// gh_typ.CastTo(ref temppln); -// grdplnsrf = temppln.Duplicate(); -// pln = grdplnsrf.Plane; -// planeSet = true; -// } -// else if (gh_typ.Value is Plane) -// { -// gh_typ.CastTo(ref pln); -// grdplnsrf = new GsaGridPlaneSurface(pln); -// planeSet = true; -// } -// else -// { -// int id = 0; -// if (GH_Convert.ToInt32(gh_typ.Value, out id, GH_Conversion.Both)) -// { -// gridareaload.GridAreaLoad.GridSurface = id; -// gridareaload.GridPlaneSurface = null; -// } -// else -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Error in GPS input. Accepted inputs are Grid Plane Surface or Plane. " + -// System.Environment.NewLine + "If no input here then the brep's best-fit plane will be used"); -// return; -// } -// } -// } - -// // we wait setting the gridplanesurface until we have run the polyline input - -// // 1 Polyline -// Brep brep = new Brep(); - - -// GH_Brep gh_brep = new GH_Brep(); -// if (DA.GetData(1, ref gh_brep)) -// { - -// GH_Convert.ToBrep(gh_brep, ref brep, GH_Conversion.Both); - -// // get edge curves -// Curve[] edgeSegments = brep.DuplicateEdgeCurves(); -// Curve[] edges = Curve.JoinCurves(edgeSegments); -// Curve crv = edges[0]; - -// //convert to polyline -// Polyline ln = new Polyline(); -// if (crv.TryGetPolyline(out ln)) -// { -// // get control points -// List ctrl_pts = ln.ToList(); - -// // plane -// if (!planeSet) -// { -// // create nice plane from pts -// pln = Util.GH.Convert.CreateBestFitUnitisedPlaneFromPts(ctrl_pts); - -// // create grid plane surface from best fit plane -// grdplnsrf = new GsaGridPlaneSurface(pln, true); -// } - -// // project original curve onto grid plane -// crv = Curve.ProjectToPlane(crv, pln); - -// // convert to polyline again -// crv.TryGetPolyline(out ln); - -// //get control points again -// ctrl_pts = ln.ToList(); - -// // string to write polyline description to -// string desc = ""; - -// // loop through all points -// for (int i = 0; i < ctrl_pts.Count - 1; i++) -// { -// if (i > 0) -// desc += " "; - -// // get control points in local plane coordinates -// Point3d temppt = new Point3d(); -// pln.RemapToPlaneSpace(ctrl_pts[i], out temppt); - -// // write point to string -// // format accepted by GSA: (0,0) (0,1) (1,2) (3,4) (4,0)(m) -// desc += "(" + temppt.X + "," + temppt.Y + ")"; -// } -// // add units to the end -// desc += "(" + Units.LengthUnitGeometry + ")"; - -// // set polyline in grid line load -// gridareaload.GridAreaLoad.Type = GridAreaPolyLineType.POLYGON; -// gridareaload.GridAreaLoad.PolyLineDefinition = desc; -// } -// else -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Could not convert Brep edge to Polyline"); -// } - -// // now we can set the gridplanesurface: -// if (gridareaload.GridPlaneSurface != null) -// { -// if (gridareaload.GridPlaneSurface.GridSurfaceID == 0) -// gridareaload.GridPlaneSurface = grdplnsrf; -// } - -// // 3 direction -// string dir = "Z"; -// Direction direc = Direction.Z; - -// GH_String gh_dir = new GH_String(); -// if (DA.GetData(3, ref gh_dir)) -// GH_Convert.ToString(gh_dir, out dir, GH_Conversion.Both); -// dir = dir.ToUpper(); -// if (dir == "X") -// direc = Direction.X; -// if (dir == "Y") -// direc = Direction.Y; - -// gridareaload.GridAreaLoad.Direction = direc; - -// // 4 Axis -// int axis = 0; -// gridareaload.GridAreaLoad.AxisProperty = 0; -// GH_Integer gh_ax = new GH_Integer(); -// if (DA.GetData(4, ref gh_ax)) -// { -// GH_Convert.ToInt32(gh_ax, out axis, GH_Conversion.Both); -// if (axis == 0 || axis == -1) -// gridareaload.GridAreaLoad.AxisProperty = axis; -// } - -// // 5 Projected -// bool proj = false; -// GH_Boolean gh_proj = new GH_Boolean(); -// if (DA.GetData(5, ref gh_proj)) -// { -// if (GH_Convert.ToBoolean(gh_proj, out proj, GH_Conversion.Both)) -// gridareaload.GridAreaLoad.IsProjected = proj; -// } - -// // 6 Name -// string name = ""; -// GH_String gh_name = new GH_String(); -// if (DA.GetData(6, ref gh_name)) -// { -// if (GH_Convert.ToString(gh_name, out name, GH_Conversion.Both)) -// gridareaload.GridAreaLoad.Name = name; -// } - -// // 7 load value -// double load1 = 0; -// if (DA.GetData(7, ref load1)) -// load1 *= -1000; //convert to kN -// gridareaload.GridAreaLoad.Value = load1; - -// // convert to goo -// GsaLoad gsaLoad = new GsaLoad(gridareaload); -// DA.SetData(0, new GsaLoadGoo(gsaLoad)); -// } -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs deleted file mode 100644 index 0f0c54884..000000000 --- a/GhSA/Components/GraveyardComp/CreateGridLineLoad_OBSOLETE.cs +++ /dev/null @@ -1,246 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using Rhino.Geometry; -//using GhSA.Parameters; - -//namespace GhSA.Components -//{ -// public class CreateGridLineLoad_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// public CreateGridLineLoad_OBSOLETE() -// : base("Create Grid Line Load", "LineLoad", "Create GSA Grid Line Load", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat3()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override Guid ComponentGuid => new Guid("fdd95021-9193-4565-b56b-130f22ab13de"); -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GridLineLoad; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// #endregion - -// #region input and output -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddIntegerParameter("Load case", "LC", "Load case number (default 1)", GH_ParamAccess.item, 1); -// pManager.AddCurveParameter("PolyLine", "L", "PolyLine. If you input grid plane below only x and y coordinate positions will be used from this polyline, but if not a new Grid Plane Surface (best-fit plane) will be created from PolyLine control points.", GH_ParamAccess.item); -// pManager.AddGenericParameter("Grid Plane Surface", "GPS", "Grid Plane Surface or Plane (optional). If no input here then the line's best-fit plane will be used", GH_ParamAccess.item); -// pManager.AddTextParameter("Direction", "Di", "Load direction (default z)." + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "x" + -// System.Environment.NewLine + "y" + -// System.Environment.NewLine + "z", GH_ParamAccess.item, "z"); -// pManager.AddIntegerParameter("Axis", "Ax", "Load axis (default Global). " + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "0 : Global" + -// System.Environment.NewLine + "-1 : Local", GH_ParamAccess.item, 0); -// pManager.AddBooleanParameter("Projected", "Pj", "Projected (default not)", GH_ParamAccess.item, false); -// pManager.AddTextParameter("Name", "Na", "Load Name", GH_ParamAccess.item); -// pManager.AddNumberParameter("Value Start (" + Units.Force + "/" + Units.LengthUnitGeometry + ")", "V1", "Load Value (" + Units.Force + "/" + Units.LengthUnitGeometry + ") at Start of Line", GH_ParamAccess.item); -// pManager.AddNumberParameter("Value End (" + Units.Force + "/" + Units.LengthUnitGeometry + ")", "V2", "Load Value (" + Units.Force + "/" + Units.LengthUnitGeometry + ") at End of Line (default : Start Value)", GH_ParamAccess.item); - -// pManager[0].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; -// pManager[6].Optional = true; -// pManager[8].Optional = true; -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Grid Line Load", "Ld", "GSA Grid Line Load", GH_ParamAccess.item); -// } -// #endregion -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaGridLineLoad gridlineload = new GsaGridLineLoad(); - -// // 0 Load case -// int lc = 1; -// GH_Integer gh_lc = new GH_Integer(); -// if (DA.GetData(0, ref gh_lc)) -// GH_Convert.ToInt32(gh_lc, out lc, GH_Conversion.Both); -// gridlineload.GridLineLoad.Case = lc; - -// // Do plane input first as to see if we need to project polyline onto grid plane -// // 2 Plane -// Plane pln = Plane.WorldXY; -// bool planeSet = false; -// GsaGridPlaneSurface grdplnsrf = new GsaGridPlaneSurface(); -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(2, ref gh_typ)) -// { -// if (gh_typ.Value is GsaGridPlaneSurfaceGoo) -// { -// GsaGridPlaneSurface temppln = new GsaGridPlaneSurface(); -// gh_typ.CastTo(ref temppln); -// grdplnsrf = temppln.Duplicate(); -// pln = grdplnsrf.Plane; -// planeSet = true; -// } -// else if (gh_typ.Value is Plane) -// { -// gh_typ.CastTo(ref pln); -// grdplnsrf = new GsaGridPlaneSurface(pln); -// planeSet = true; -// } -// else -// { -// int id = 0; -// if (GH_Convert.ToInt32(gh_typ.Value, out id, GH_Conversion.Both)) -// { -// gridlineload.GridLineLoad.GridSurface = id; -// gridlineload.GridPlaneSurface = null; -// } -// else -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Error in GPS input. Accepted inputs are Grid Plane Surface or Plane. " + -// System.Environment.NewLine + "If no input here then the line's best-fit plane will be used"); -// return; -// } -// } -// } - -// // we wait setting the gridplanesurface until we have run the polyline input - -// // 1 Polyline -// Polyline ln = new Polyline(); -// GH_Curve gh_crv = new GH_Curve(); -// if (DA.GetData(1, ref gh_crv)) -// { -// Curve crv = null; -// GH_Convert.ToCurve(gh_crv, ref crv, GH_Conversion.Both); - -// //convert to polyline -// if (crv.TryGetPolyline(out ln)) -// { -// // get control points -// List ctrl_pts = ln.ToList(); - -// // plane -// if (!planeSet) -// { -// // create best-fit plane from pts -// pln = Util.GH.Convert.CreateBestFitUnitisedPlaneFromPts(ctrl_pts); - -// // create grid plane surface from best fit plane -// grdplnsrf = new GsaGridPlaneSurface(pln, true); -// } -// else -// { -// // project original curve onto grid plane -// crv = Curve.ProjectToPlane(crv, pln); - -// // convert to polyline again -// crv.TryGetPolyline(out ln); - -// //get control points again -// ctrl_pts = ln.ToList(); -// } - -// // string to write polyline description to -// string desc = ""; - -// // loop through all points -// for (int i = 0; i < ctrl_pts.Count; i++) -// { -// if (i > 0) -// desc += " "; - -// // get control points in local plane coordinates -// Point3d temppt = new Point3d(); -// pln.RemapToPlaneSpace(ctrl_pts[i], out temppt); - -// // write point to string -// // format accepted by GSA: (0,0) (0,1) (1,2) (3,4) (4,0)(m) -// desc += "(" + temppt.X + "," + temppt.Y + ")"; -// } -// // add units to the end -// desc += "(" + Units.LengthUnitGeometry + ")"; - -// // set polyline in grid line load -// gridlineload.GridLineLoad.Type = GridLineLoad.PolyLineType.EXPLICIT_POLYLINE; -// gridlineload.GridLineLoad.PolyLineDefinition = desc; -// } -// else -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Could not convert Curve to Polyline"); -// } - -// // now we can set the gridplanesurface: -// if (gridlineload.GridPlaneSurface != null) -// { -// if (gridlineload.GridPlaneSurface.GridSurfaceID == 0) -// gridlineload.GridPlaneSurface = grdplnsrf; -// } - -// // 3 direction -// string dir = "Z"; -// Direction direc = Direction.Z; - -// GH_String gh_dir = new GH_String(); -// if (DA.GetData(3, ref gh_dir)) -// GH_Convert.ToString(gh_dir, out dir, GH_Conversion.Both); -// dir = dir.ToUpper(); -// if (dir == "X") -// direc = Direction.X; -// if (dir == "Y") -// direc = Direction.Y; - -// gridlineload.GridLineLoad.Direction = direc; - -// // 4 Axis -// int axis = 0; -// gridlineload.GridLineLoad.AxisProperty = 0; -// GH_Integer gh_ax = new GH_Integer(); -// if (DA.GetData(4, ref gh_ax)) -// { -// GH_Convert.ToInt32(gh_ax, out axis, GH_Conversion.Both); -// if (axis == 0 || axis == -1) -// gridlineload.GridLineLoad.AxisProperty = axis; -// } - -// // 5 Projected -// bool proj = false; -// GH_Boolean gh_proj = new GH_Boolean(); -// if (DA.GetData(5, ref gh_proj)) -// { -// if (GH_Convert.ToBoolean(gh_proj, out proj, GH_Conversion.Both)) -// gridlineload.GridLineLoad.IsProjected = proj; -// } - -// // 6 Name -// string name = ""; -// GH_String gh_name = new GH_String(); -// if (DA.GetData(6, ref gh_name)) -// { -// if (GH_Convert.ToString(gh_name, out name, GH_Conversion.Both)) -// gridlineload.GridLineLoad.Name = name; -// } - -// // 7 load value -// double load1 = 0; -// if (DA.GetData(7, ref load1)) -// load1 *= -1000; //convert to kN -// gridlineload.GridLineLoad.ValueAtStart = load1; - -// // 8 load value -// double load2 = load1; -// if (DA.GetData(8, ref load2)) -// load2 *= -1000; //convert to kN -// gridlineload.GridLineLoad.ValueAtEnd = load2; - -// // convert to goo -// GsaLoad gsaLoad = new GsaLoad(gridlineload); -// DA.SetData(0, new GsaLoadGoo(gsaLoad)); -// } -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs deleted file mode 100644 index 8ecb3a15c..000000000 --- a/GhSA/Components/GraveyardComp/CreateGridPointLoad_OBSOLETE.cs +++ /dev/null @@ -1,165 +0,0 @@ -//using System; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using Rhino.Geometry; -//using GhSA.Parameters; - -//namespace GhSA.Components -//{ -// public class CreateGridPointLoad_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// public CreateGridPointLoad_OBSOLETE() -// : base("Create Grid Point Load", "PointLoad", "Create GSA Grid Point Load", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat3()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override Guid ComponentGuid => new Guid("844dbf7b-3750-445c-950d-b161b00a6757"); -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GridPointLoad; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// #endregion - -// #region input and output -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddIntegerParameter("Load case", "LC", "Load case number (default 1)", GH_ParamAccess.item, 1); -// pManager.AddPointParameter("Point", "Pt", "Point. If you input grid plane below only x and y coordinates will be used from this point, but if not a new Grid Plane Surface (xy-plane) will be created at the z-elevation of this point.", GH_ParamAccess.item); -// pManager.AddGenericParameter("Grid Plane Surface", "GPS", "Grid Plane Surface or Plane (optional). If no input here then the point's z-coordinate will be used for an xy-plane at that elevation.", GH_ParamAccess.item); -// pManager.AddTextParameter("Direction", "Di", "Load direction (default z)." + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "x" + -// System.Environment.NewLine + "y" + -// System.Environment.NewLine + "z", GH_ParamAccess.item, "z"); -// pManager.AddIntegerParameter("Axis", "Ax", "Load axis (default Global). " + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "0 : Global" + -// System.Environment.NewLine + "-1 : Local", GH_ParamAccess.item, 0); -// pManager.AddTextParameter("Name", "Na", "Load Name", GH_ParamAccess.item); -// pManager.AddNumberParameter("Value (" + Units.Force + ")", "V", "Load Value (" + Units.Force + ")", GH_ParamAccess.item); - -// pManager[0].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Grid Point Load", "Ld", "GSA Grid Point Load", GH_ParamAccess.item); -// } -// #endregion -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaGridPointLoad gridpointload = new GsaGridPointLoad(); - -// // 0 Load case -// int lc = 1; -// GH_Integer gh_lc = new GH_Integer(); -// if (DA.GetData(0, ref gh_lc)) -// GH_Convert.ToInt32(gh_lc, out lc, GH_Conversion.Both); -// gridpointload.GridPointLoad.Case = lc; - -// // 1 Point -// Point3d pt = new Point3d(); -// GH_Point gh_pt = new GH_Point(); -// if (DA.GetData(1, ref gh_pt)) -// GH_Convert.ToPoint3d(gh_pt, ref pt, GH_Conversion.Both); -// gridpointload.GridPointLoad.X = pt.X; -// gridpointload.GridPointLoad.Y = pt.Y; - -// // 2 Plane -// GsaGridPlaneSurface grdplnsrf; -// Plane pln = Plane.WorldXY; -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(2, ref gh_typ)) -// { -// if (gh_typ.Value is GsaGridPlaneSurfaceGoo) -// { -// GsaGridPlaneSurface temppln = new GsaGridPlaneSurface(); -// gh_typ.CastTo(ref temppln); -// grdplnsrf = temppln.Duplicate(); -// gridpointload.GridPlaneSurface = grdplnsrf; -// } -// else if (gh_typ.Value is Plane) -// { -// gh_typ.CastTo(ref pln); -// grdplnsrf = new GsaGridPlaneSurface(pln); -// gridpointload.GridPlaneSurface = grdplnsrf; -// } -// else -// { -// int id = 0; -// if (GH_Convert.ToInt32(gh_typ.Value, out id, GH_Conversion.Both)) -// { -// gridpointload.GridPointLoad.GridSurface = id; -// gridpointload.GridPlaneSurface = null; -// } -// else -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Error in GPS input. Accepted inputs are Grid Plane Surface or Plane. " + -// System.Environment.NewLine + "If no input here then the point's z-coordinate will be used for an xy-plane at that elevation"); -// return; -// } -// } -// } -// else -// { -// pln = Plane.WorldXY; -// pln.Origin = pt; -// grdplnsrf = new GsaGridPlaneSurface(pln); -// gridpointload.GridPlaneSurface = grdplnsrf; -// } - -// // 3 direction -// string dir = "Z"; -// Direction direc = Direction.Z; - -// GH_String gh_dir = new GH_String(); -// if (DA.GetData(3, ref gh_dir)) -// GH_Convert.ToString(gh_dir, out dir, GH_Conversion.Both); -// dir = dir.ToUpper(); -// if (dir == "X") -// direc = Direction.X; -// if (dir == "Y") -// direc = Direction.Y; - -// gridpointload.GridPointLoad.Direction = direc; - -// // 4 Axis -// int axis = 0; -// gridpointload.GridPointLoad.AxisProperty = 0; -// GH_Integer gh_ax = new GH_Integer(); -// if (DA.GetData(4, ref gh_ax)) -// { -// GH_Convert.ToInt32(gh_ax, out axis, GH_Conversion.Both); -// if (axis == 0 || axis == -1) -// gridpointload.GridPointLoad.AxisProperty = axis; -// } - -// // 5 Name -// string name = ""; -// GH_String gh_name = new GH_String(); -// if (DA.GetData(5, ref gh_name)) -// { -// if (GH_Convert.ToString(gh_name, out name, GH_Conversion.Both)) -// gridpointload.GridPointLoad.Name = name; -// } - -// // 6 load value -// double load = 0; -// if (DA.GetData(6, ref load)) -// load *= -1000; //convert to kN -// gridpointload.GridPointLoad.Value = load; - -// // convert to goo -// GsaLoad gsaLoad = new GsaLoad(gridpointload); -// DA.SetData(0, new GsaLoadGoo(gsaLoad)); -// } -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs deleted file mode 100644 index 92ecbd533..000000000 --- a/GhSA/Components/GraveyardComp/CreateNodeLoads_OBSOLETE.cs +++ /dev/null @@ -1,240 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using Rhino.Geometry; -//using GhSA.Parameters; -//using Grasshopper.Kernel.Parameters; - -//namespace GhSA.Components -//{ -// public class CreateNodeLoad_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent -// { -// #region Name and Ribbon Layout -// public CreateNodeLoad_OBSOLETE() -// : base("Create Node Load", "NodeLoad", "Create GSA Node Load", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat3()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override Guid ComponentGuid => new Guid("0e30f030-8fc0-4ffa-afd9-02b18c094006"); -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.NodeLoad; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// public override void CreateAttributes() -// { -// if (first) -// { -// selecteditem = _mode.ToString(); -// first = false; -// } - -// m_attributes = new UI.DropDownComponentUI(this, SetSelected, dropdownitems, selecteditem, "Load Type"); -// } - - -// public void SetSelected(string selected) -// { -// selecteditem = selected; -// switch (selected) -// { -// case "Node": -// _mode = FoldMode.Node; -// break; -// case "Applied Displ": -// _mode = FoldMode.Applied_Displ; -// break; -// case "Settlement": -// _mode = FoldMode.Settlements; -// break; -// } -// } -// #endregion - -// #region Input and output -// readonly List dropdownitems = new List(new string[] -// { -// "Node", -// "Applied Displ", -// "Settlement" -// }); - -// string selecteditem; - -// #endregion - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddIntegerParameter("Load case", "LC", "Load case number (default 1)", GH_ParamAccess.item, 1); -// pManager.AddTextParameter("Node list", "No", "List of Nodes to apply load to." + System.Environment.NewLine + -// "Node list should take the form:" + System.Environment.NewLine + -// " 1 11 to 72 step 2 not (XY3 31 to 45)" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary.", GH_ParamAccess.item); -// pManager.AddTextParameter("Name", "Na", "Load Name", GH_ParamAccess.item); -// pManager.AddTextParameter("Direction", "Di", "Load direction (default z)." + -// System.Environment.NewLine + "Accepted inputs are:" + -// System.Environment.NewLine + "x" + -// System.Environment.NewLine + "y" + -// System.Environment.NewLine + "z" + -// System.Environment.NewLine + "xx" + -// System.Environment.NewLine + "yy" + -// System.Environment.NewLine + "zz", GH_ParamAccess.item, "z"); -// pManager.AddNumberParameter("Value (" + Units.Force + ")", "V", "Load Value (" + Units.Force + ")", GH_ParamAccess.item); -// pManager[0].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; - -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Node Load", "Ld", "GSA Node Load", GH_ParamAccess.item); -// } - -// protected override void SolveInstance(IGH_DataAccess DA) -// { - -// GsaNodeLoad nodeLoad = new GsaNodeLoad(); - -// // Node load type -// switch (_mode) -// { -// case FoldMode.Node: -// nodeLoad.NodeLoadType = GsaNodeLoad.NodeLoadTypes.NODE_LOAD; -// break; -// case FoldMode.Applied_Displ: -// nodeLoad.NodeLoadType = GsaNodeLoad.NodeLoadTypes.APPLIED_DISP; -// break; -// case FoldMode.Settlements: -// nodeLoad.NodeLoadType = GsaNodeLoad.NodeLoadTypes.SETTLEMENT; -// break; -// } - -// // 0 Load case -// int lc = 1; -// GH_Integer gh_lc = new GH_Integer(); -// if (DA.GetData(0, ref gh_lc)) -// GH_Convert.ToInt32(gh_lc, out lc, GH_Conversion.Both); -// nodeLoad.NodeLoad.Case = lc; - -// // 1 element/beam list -// // check that user has not inputted Gsa geometry elements here -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(1, ref gh_typ)) -// { -// string type = gh_typ.Value.ToString().ToUpper(); -// if (type.StartsWith("GSA ")) -// { -// Params.Owner.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, -// "You cannot input a Node/Element/Member in NodeList input!" + System.Environment.NewLine + -// "Element list should take the form:" + System.Environment.NewLine + -// "'1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (PA PB1 PS2 PM3 PA4 M1)'" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary."); -// return; -// } -// } -// string nodeList = "all"; -// GH_String gh_nl = new GH_String(); -// if (DA.GetData(1, ref gh_nl)) -// GH_Convert.ToString(gh_nl, out nodeList, GH_Conversion.Both); -// nodeLoad.NodeLoad.Nodes = nodeList; - -// // 3 Name -// string name = ""; -// GH_String gh_name = new GH_String(); -// if (DA.GetData(3, ref gh_name)) -// { -// if (GH_Convert.ToString(gh_name, out name, GH_Conversion.Both)) -// nodeLoad.NodeLoad.Name = name; -// } - -// // 3 direction -// string dir = "Z"; -// Direction direc = Direction.Z; - -// GH_String gh_dir = new GH_String(); -// if (DA.GetData(3, ref gh_dir)) -// GH_Convert.ToString(gh_dir, out dir, GH_Conversion.Both); -// dir = dir.ToUpper().Trim(); -// if (dir == "X") -// direc = Direction.X; -// if (dir == "Y") -// direc = Direction.Y; -// if (dir == "XX") -// direc = Direction.XX; -// if (dir == "YY") -// direc = Direction.YY; -// if (dir == "ZZ") -// direc = Direction.ZZ; - -// nodeLoad.NodeLoad.Direction = direc; - -// double load = 0; -// if (DA.GetData(4, ref load)) -// { -// if (direc == Direction.Z) -// load *= -1000; //convert to kN -// else -// load *= 1000; -// } - -// nodeLoad.NodeLoad.Value = load; - -// GsaLoad gsaLoad = new GsaLoad(nodeLoad); -// DA.SetData(0, new GsaLoadGoo(gsaLoad)); -// } - -// #region menu override -// private enum FoldMode -// { -// Node, -// Applied_Displ, -// Settlements -// } -// private bool first = true; -// private FoldMode _mode = FoldMode.Node; -// #endregion - -// #region (de)serialization -// public override bool Write(GH_IO.Serialization.GH_IWriter writer) -// { -// writer.SetInt32("Mode", (int)_mode); -// writer.SetString("select", selecteditem); -// return base.Write(writer); -// } -// public override bool Read(GH_IO.Serialization.GH_IReader reader) -// { -// _mode = (FoldMode)reader.GetInt32("Mode"); -// selecteditem = reader.GetString("select"); -// this.CreateAttributes(); -// return base.Read(reader); -// } - -// bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) -// { -// return null; -// } -// bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// #endregion -// #region IGH_VariableParameterComponent null implementation -// void IGH_VariableParameterComponent.VariableParameterMaintenance() -// { - -// } -// #endregion -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs deleted file mode 100644 index 3002d1b4f..000000000 --- a/GhSA/Components/GraveyardComp/CreateOffset_OBSOLETE.cs +++ /dev/null @@ -1,92 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; - -//namespace GhSA.Components -//{ -// /// -// /// Component to create a new Offset -// /// -// public class CreateOffset_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("ba62abd3-cd48-4dd2-9cd1-d89c921dd108"); -// public CreateOffset_OBSOLETE() -// : base("Create Offset", "Offset", "Create GSA Offset", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat1()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.CreateOffset; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout - -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddNumberParameter("Offset X1", "X1", "X1 - Start axial offset (" + Units.LengthUnitGeometry.ToString() + ")", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("Offset X2", "X2", "X2 - End axial offset (" + Units.LengthUnitGeometry.ToString() + ")", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("Offset Y", "Y", "Y Offset (" + Units.LengthUnitGeometry.ToString() + ")", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("Offset Z", "Z", "Z Offset (" + Units.LengthUnitGeometry.ToString() + ")", GH_ParamAccess.item, 0); - -// pManager[0].Optional = true; -// pManager[1].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// } - -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Offset", "Of", "GSA Offset", GH_ParamAccess.item); -// } -// #endregion - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// double x1 = 0; -// double x2 = 0; -// double y = 0; -// double z = 0; -// GH_Number ghOffsetX1 = new GH_Number(); -// if (DA.GetData(0, ref ghOffsetX1)) -// GH_Convert.ToDouble(ghOffsetX1, out x1, GH_Conversion.Both); -// GH_Number ghOffsetX2 = new GH_Number(); -// if (DA.GetData(1, ref ghOffsetX2)) -// GH_Convert.ToDouble(ghOffsetX2, out x2, GH_Conversion.Both); -// GH_Number ghOffsetY = new GH_Number(); -// if (DA.GetData(2, ref ghOffsetY)) -// GH_Convert.ToDouble(ghOffsetY, out y, GH_Conversion.Both); -// GH_Number ghOffsetZ = new GH_Number(); -// if (DA.GetData(3, ref ghOffsetZ)) -// GH_Convert.ToDouble(ghOffsetZ, out z, GH_Conversion.Both); - -// GsaOffset offset = new GsaOffset -// { -// X1 = x1, -// X2 = x2, -// Y = y, -// Z = z -// }; - -// DA.SetData(0, new GsaOffsetGoo(offset.Duplicate())); -// } -// } -//} diff --git a/GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs b/GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs deleted file mode 100644 index 2e51dd4b2..000000000 --- a/GhSA/Components/GraveyardComp/CreateProp2d_OBSOLETE.cs +++ /dev/null @@ -1,400 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; - -//using Grasshopper.Kernel.Parameters; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; -//using UnitsNet; - -//namespace GhSA.Components -//{ -// /// -// /// Component to create a new Prop2d -// /// -// public class CreateProp2d_OBSOLETE : GH_OasysComponent, IGH_VariableParameterComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("3fd61492-b5ff-47ea-8c7c-89cf639b32dc"); -// public CreateProp2d_OBSOLETE() -// : base("Create 2D Property", "Prop2d", "Create GSA 2D Property", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat1()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.CreateProp2d; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// public override void CreateAttributes() -// { -// if (first) -// { -// selecteditem = _mode.ToString(); -// //first = false; -// } - -// m_attributes = new UI.DropDownComponentUI(this, SetSelected, dropdownitems, selecteditem, "Element Type"); -// } - -// public void SetSelected(string selected) -// { -// selecteditem = selected; -// switch (selected) -// { -// case "Plane Stress": -// Mode1Clicked(); -// break; -// case "Fabric": -// Mode2Clicked(); -// break; -// case "Flat Plate": -// Mode3Clicked(); -// break; -// case "Shell": -// Mode4Clicked(); -// break; -// case "Curved Shell": -// Mode5Clicked(); -// break; -// case "Load Panel": -// Mode6Clicked(); -// break; -// } -// } -// #endregion - -// #region Input and output -// readonly List dropdownitems = new List(new string[] -// { -// "Plane Stress", -// "Fabric", -// "Flat Plate", -// "Shell", -// "Curved Shell", -// "Load Panel" -// }); - -// string selecteditem; - -// #endregion - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// if (first) -// { -// first = false; -// //register input parameter -// //Params.RegisterInputParam(new Param_Integer()); -// Params.RegisterInputParam(new Param_GenericObject()); -// Params.RegisterInputParam(new Param_Number()); - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// } -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("2D Property", "PA", "GSA 2D Property", GH_ParamAccess.item); -// } - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaProp2d prop = new GsaProp2d(); - -// // element type (picked in dropdown) -// prop.Type = Property2D_Type.UNDEF; -// if (_mode == FoldMode.PlaneStress) -// prop.Type = Property2D_Type.PL_STRESS; -// if (_mode == FoldMode.Fabric) -// prop.Type = Property2D_Type.FABRIC; -// if (_mode == FoldMode.FlatPlate) -// prop.Type = Property2D_Type.PLATE; -// if (_mode == FoldMode.Shell) -// prop.Type = Property2D_Type.SHELL; -// if (_mode == FoldMode.CurvedShell) -// prop.Type = Property2D_Type.CURVED_SHELL; -// if (_mode == FoldMode.LoadPanel) -// prop.Type = Property2D_Type.LOAD; - -// if (_mode != FoldMode.LoadPanel) -// { -// prop.AxisProperty = 0; - -// if (_mode != FoldMode.Fabric) -// { -// // 0 Material -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(0, ref gh_typ)) -// { -// GsaMaterial material = new GsaMaterial(); -// if (gh_typ.Value is GsaMaterialGoo) -// { -// gh_typ.CastTo(ref material); -// prop.Material = material; -// } -// else -// { -// if (GH_Convert.ToInt32(gh_typ.Value, out int idd, GH_Conversion.Both)) -// { -// prop.Material = new GsaMaterial(idd); -// } -// else -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Unable to convert PB input to a Section Property of reference integer"); -// return; -// } -// } -// } -// else -// prop.Material = new GsaMaterial(2); - -// GH_Number gh_THK = new GH_Number(); -// double thickness = 200; -// if (DA.GetData(1, ref gh_THK)) -// GH_Convert.ToDouble(gh_THK, out thickness, GH_Conversion.Both); -// prop.Thickness = new Length(thickness, UnitsNet.Units.LengthUnit.Millimeter); -// } -// else -// prop.Material = new GsaMaterial(8); -// } - -// DA.SetData(0, new GsaProp2dGoo(prop)); - -// } -// #region menu override -// private enum FoldMode -// { -// PlaneStress, -// Fabric, -// FlatPlate, -// Shell, -// CurvedShell, -// LoadPanel -// } -// private bool first = true; -// private FoldMode _mode = FoldMode.Shell; - - -// private void Mode1Clicked() -// { -// if (_mode == FoldMode.PlaneStress) -// return; - -// RecordUndoEvent("Plane Stress Parameters"); -// if (_mode == FoldMode.LoadPanel || _mode == FoldMode.Fabric) -// { -// //remove input parameters -// while (Params.Input.Count > 0) -// Params.UnregisterInputParameter(Params.Input[0], true); - -// //register input parameter -// //Params.RegisterInputParam(new Param_Integer()); -// Params.RegisterInputParam(new Param_GenericObject()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.PlaneStress; - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// private void Mode2Clicked() -// { -// if (_mode == FoldMode.Fabric) -// return; - -// RecordUndoEvent("Fabric Parameters"); -// _mode = FoldMode.Fabric; - -// //remove input parameters -// while (Params.Input.Count > 0) -// Params.UnregisterInputParameter(Params.Input[0], true); - -// //register input parameter -// //Params.RegisterInputParam(new Param_Integer()); -// Params.RegisterInputParam(new Param_GenericObject()); - - - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// private void Mode3Clicked() -// { -// if (_mode == FoldMode.FlatPlate) -// return; - -// RecordUndoEvent("Flat Plate Parameters"); -// if (_mode == FoldMode.LoadPanel || _mode == FoldMode.Fabric) -// { -// //remove input parameters -// while (Params.Input.Count > 0) -// Params.UnregisterInputParameter(Params.Input[0], true); - -// //register input parameter -// //Params.RegisterInputParam(new Param_Integer()); -// Params.RegisterInputParam(new Param_GenericObject()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.FlatPlate; - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// private void Mode4Clicked() -// { -// if (_mode == FoldMode.Shell) -// return; - -// RecordUndoEvent("Shell Parameters"); -// if (_mode == FoldMode.LoadPanel || _mode == FoldMode.Fabric) -// { -// //remove input parameters -// while (Params.Input.Count > 0) -// Params.UnregisterInputParameter(Params.Input[0], true); - -// //register input parameter -// //Params.RegisterInputParam(new Param_Integer()); -// Params.RegisterInputParam(new Param_GenericObject()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.Shell; - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// private void Mode5Clicked() -// { -// if (_mode == FoldMode.CurvedShell) -// return; - -// RecordUndoEvent("Curved Shell Parameters"); -// if (_mode == FoldMode.LoadPanel || _mode == FoldMode.Fabric) -// { -// //remove input parameters -// while (Params.Input.Count > 0) -// Params.UnregisterInputParameter(Params.Input[0], true); - -// //register input parameter -// //Params.RegisterInputParam(new Param_Integer()); -// Params.RegisterInputParam(new Param_GenericObject()); -// Params.RegisterInputParam(new Param_Number()); -// } -// _mode = FoldMode.CurvedShell; - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } - -// private void Mode6Clicked() -// { -// if (_mode == FoldMode.LoadPanel) -// return; - -// RecordUndoEvent("Load Panel Parameters"); -// _mode = FoldMode.LoadPanel; - -// //remove input parameters -// while (Params.Input.Count > 0) -// Params.UnregisterInputParameter(Params.Input[0], true); - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// ExpireSolution(true); -// } -// #endregion -// #region (de)serialization -// public override bool Write(GH_IO.Serialization.GH_IWriter writer) -// { -// writer.SetInt32("Mode", (int)_mode); -// writer.SetString("select", selecteditem); -// return base.Write(writer); -// } -// public override bool Read(GH_IO.Serialization.GH_IReader reader) -// { -// _mode = (FoldMode)reader.GetInt32("Mode"); -// selecteditem = reader.GetString("select"); -// this.CreateAttributes(); -// return base.Read(reader); -// } - -// bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) -// { -// return null; -// } -// bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// #endregion -// #region IGH_VariableParameterComponent null implementation -// void IGH_VariableParameterComponent.VariableParameterMaintenance() -// { -// if (_mode != FoldMode.LoadPanel && _mode != FoldMode.Fabric) -// { -// int i = 0; -// Params.Input[i].NickName = "Mat"; -// Params.Input[i].Name = "Material"; -// Params.Input[i].Description = "GsaMaterial or Number for referring to a Material already in Existing GSA Model." + System.Environment.NewLine -// + "Accepted inputs are: " + System.Environment.NewLine -// + "0 : Generic" + System.Environment.NewLine -// + "1 : Steel" + System.Environment.NewLine -// + "2 : Concrete (default)" + System.Environment.NewLine -// + "3 : Aluminium" + System.Environment.NewLine -// + "4 : Glass" + System.Environment.NewLine -// + "5 : FRP" + System.Environment.NewLine -// + "7 : Timber" + System.Environment.NewLine -// + "8 : Fabric"; - -// Params.Input[i].Access = GH_ParamAccess.item; -// Params.Input[i].Optional = true; - -// i++; -// Params.Input[i].NickName = "Thk"; -// Params.Input[i].Name = "Thickness (" + Units.LengthUnitGeometry.ToString() + ")"; // "Thickness [m]"; -// Params.Input[i].Description = "Section thickness (default 200mm)"; -// Params.Input[i].Access = GH_ParamAccess.item; -// Params.Input[i].Optional = true; -// } - -// if (_mode == FoldMode.Fabric) -// { -// int i = 0; -// Params.Input[i].NickName = "Mat"; -// Params.Input[i].Name = "Material"; -// Params.Input[i].Description = "GsaMaterial or Reference ID for Material Property in Existing GSA Model"; -// Params.Input[i].Access = GH_ParamAccess.item; -// Params.Input[i].Optional = true; -// } -// } -// #endregion -// } -//} \ No newline at end of file diff --git a/GhSA/Components/GraveyardComp/CreateSpring.cs b/GhSA/Components/GraveyardComp/CreateSpring.cs deleted file mode 100644 index d2c1dc62f..000000000 --- a/GhSA/Components/GraveyardComp/CreateSpring.cs +++ /dev/null @@ -1,107 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; - -//namespace GhSA.Components -//{ -// /// -// /// Component to create a new spring -// /// -// public class CreateSpring_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("e4b7c688-147b-4d91-b754-1a45c715b8db"); -// public CreateSpring_OBSOLETE() -// : base("Create Spring", "Spring", "Create GSA Spring (Type: General)", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat1()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override GH_Exposure Exposure => GH_Exposure.hidden;// | GH_Exposure.obscure; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.CreateSpring; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout - -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddNumberParameter("X", "X", "X", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("Y", "Y", "Y", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("Z", "Z", "Z", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("XX", "XX", "XX", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("YY", "YY", "YY", GH_ParamAccess.item, 0); -// pManager.AddNumberParameter("ZZ", "ZZ", "ZZ", GH_ParamAccess.item, 0); - -// pManager[0].Optional = true; -// pManager[1].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; -// } - -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Spring", "PS", "GSA Spring (Type: General)", GH_ParamAccess.item); -// } -// #endregion - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// double x = 0; -// double y = 0; -// double z = 0; -// double xx = 0; -// double yy = 0; -// double zz = 0; -// GH_Number ghSprX = new GH_Number(); -// if (DA.GetData(0, ref ghSprX)) -// GH_Convert.ToDouble(ghSprX, out x, GH_Conversion.Both); -// GH_Number ghSprY = new GH_Number(); -// if (DA.GetData(1, ref ghSprY)) -// GH_Convert.ToDouble(ghSprY, out y, GH_Conversion.Both); -// GH_Number ghSprZ = new GH_Number(); -// if (DA.GetData(2, ref ghSprZ)) -// GH_Convert.ToDouble(ghSprZ, out z, GH_Conversion.Both); -// GH_Number ghSprXX = new GH_Number(); -// if (DA.GetData(3, ref ghSprXX)) -// GH_Convert.ToDouble(ghSprXX, out xx, GH_Conversion.Both); -// GH_Number ghSprYY = new GH_Number(); -// if (DA.GetData(4, ref ghSprYY)) -// GH_Convert.ToDouble(ghSprYY, out yy, GH_Conversion.Both); -// GH_Number ghSprZZ = new GH_Number(); -// if (DA.GetData(5, ref ghSprZZ)) -// GH_Convert.ToDouble(ghSprZZ, out zz, GH_Conversion.Both); -// GsaSpring Spring = new GsaSpring -// { -// X = x, -// Y = y, -// Z = z, -// XX = xx, -// YY = yy, -// ZZ = zz -// }; -// DA.SetData(0, new GsaSpringGoo(Spring.Duplicate())); - -// this.AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Please note that springs are not yet supported in GsaGH"); -// } -// } -//} - diff --git a/GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs b/GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs deleted file mode 100644 index bc38bc3d0..000000000 --- a/GhSA/Components/GraveyardComp/EditNode_OBSOLETE.cs +++ /dev/null @@ -1,212 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; - -//namespace GhSA.Components -//{ -// /// -// /// Component to edit a Node -// /// -// public class EditNode_OBSOLETE : GH_OasysComponent, IGH_PreviewObject -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("26c324cb-6f2e-4fdb-8539-e7d5cc89b2fc"); -// public EditNode_OBSOLETE() -// : base("Edit Node", "NodeEdit", "Modify GSA Node", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat2()) -// { -// } - -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.EditNode; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout - - -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { - -// pManager.AddGenericParameter("Node", "No", "GSA Node to Edit. If no input a new node will be created.", GH_ParamAccess.item); -// pManager.AddIntegerParameter("Node number", "ID", "Set Node number (ID) - if Node ID is set it will replace any existing nodes in the model", GH_ParamAccess.item); -// pManager.AddPointParameter("Node Position", "Pt", "Set new Position (x, y, z) of Node", GH_ParamAccess.item); -// pManager.AddPlaneParameter("Node local axis", "Pl", "Set Local axis (Plane) of Node", GH_ParamAccess.item); -// pManager.AddGenericParameter("Node Restraints", "B6", "Set Restraints (Bool6) of Node", GH_ParamAccess.item); -// pManager.AddGenericParameter("Node Spring", "PS", "Set Spring (Type: General)", GH_ParamAccess.item); -// pManager.AddTextParameter("Node Name", "Na", "Set Name of Node", GH_ParamAccess.item); -// pManager.AddColourParameter("Node Colour", "Co", "Set colour of node", GH_ParamAccess.item); -// pManager[1].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; -// pManager[4].Optional = true; -// pManager[5].Optional = true; -// pManager[6].Optional = true; -// pManager[7].Optional = true; - -// pManager.HideParameter(0); -// pManager.HideParameter(2); -// pManager.HideParameter(3); -// } - -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Node", "No", "Modified GSA Node", GH_ParamAccess.item); -// pManager.AddIntegerParameter("Node number", "ID", "Original Node number (ID) if Node ever belonged to a GSA Model", GH_ParamAccess.item); -// pManager.AddPointParameter("Node Position", "Pt", "Position (x, y, z) of Node", GH_ParamAccess.item); -// pManager.HideParameter(2); -// pManager.AddPlaneParameter("Node local axis", "Pl", "Local axis (Plane) of Node", GH_ParamAccess.item); -// pManager.HideParameter(3); -// pManager.AddGenericParameter("Node Restraints", "B6", "Restraints (Bool6) of Node", GH_ParamAccess.item); -// pManager.AddGenericParameter("Node Spring", "PS", "Spring attached to Node", GH_ParamAccess.item); -// pManager.AddTextParameter("Node Name", "Na", "Name of Node", GH_ParamAccess.item); -// pManager.AddColourParameter("Node Colour", "Co", "Get colour of node", GH_ParamAccess.item); -// pManager.AddIntegerParameter("Connected Elements", "El", "Connected Element IDs in Model that Node once belonged to", GH_ParamAccess.list); -// pManager.AddIntegerParameter("Connected Members", "Me", "Connected Member IDs in Model that Node once belonged to", GH_ParamAccess.list); -// } -// #endregion - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(0, ref gh_typ)) -// { -// GsaNode gsaNode = new GsaNode(); -// Point3d tempPt = new Point3d(); -// if (gh_typ.Value is GsaNodeGoo) -// { -// gh_typ.CastTo(ref gsaNode); -// if (gsaNode == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Node input is null"); } -// if (gsaNode.API_Node == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Node input is null"); } -// } -// else if (GH_Convert.ToPoint3d(gh_typ.Value, ref tempPt, GH_Conversion.Both)) -// { -// gsaNode = new GsaNode(tempPt); -// } -// else -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Unable to convert input to Node"); -// return; -// } -// GsaNode node = gsaNode.Duplicate(); - -// // #### inputs #### - -// // 1 ID -// GH_Integer ghInt = new GH_Integer(); -// if (DA.GetData(1, ref ghInt)) -// { -// if (GH_Convert.ToInt32(ghInt, out int id, GH_Conversion.Both)) -// node.ID = id; -// } - -// // 2 Point -// GH_Point ghPt = new GH_Point(); -// if (DA.GetData(2, ref ghPt)) -// { -// Point3d pt = new Point3d(); -// if (GH_Convert.ToPoint3d(ghPt, ref pt, GH_Conversion.Both)) -// { -// node.Point = pt; -// node.API_Node.Position.X = pt.X; -// node.API_Node.Position.Y = pt.Y; -// node.API_Node.Position.Z = pt.Z; -// } -// } - -// // 3 plane -// GH_Plane ghPln = new GH_Plane(); -// if (DA.GetData(3, ref ghPln)) -// { -// Plane pln = new Plane(); -// if (GH_Convert.ToPlane(ghPln, ref pln, GH_Conversion.Both)) -// { -// pln.Origin = node.Point; -// node.LocalAxis = pln; -// } -// } - -// // 4 Restraint -// GsaBool6 restraint = new GsaBool6(); -// if (DA.GetData(4, ref restraint)) -// { -// node.API_Node.Restraint.X = restraint.X; -// node.API_Node.Restraint.Y = restraint.Y; -// node.API_Node.Restraint.Z = restraint.Z; -// node.API_Node.Restraint.XX = restraint.XX; -// node.API_Node.Restraint.YY = restraint.YY; -// node.API_Node.Restraint.ZZ = restraint.ZZ; -// } - -// // 5 Spring -// //GsaSpring spring = new GsaSpring(); -// //if (DA.GetData(5, ref spring)) -// //{ -// // if (spring != null) -// // node.Spring = spring; -// //} - -// // 6 Name -// GH_String ghStr = new GH_String(); -// if (DA.GetData(6, ref ghStr)) -// { -// if (GH_Convert.ToString(ghStr, out string name, GH_Conversion.Both)) -// node.API_Node.Name = name; -// } - -// // 7 Colour -// GH_Colour ghcol = new GH_Colour(); -// if (DA.GetData(7, ref ghcol)) -// { -// if (GH_Convert.ToColor(ghcol, out System.Drawing.Color col, GH_Conversion.Both)) -// node.Colour = col; -// } - -// // #### outputs #### -// DA.SetData(0, new GsaNodeGoo(node)); -// DA.SetData(1, node.ID); -// DA.SetData(2, node.Point); -// DA.SetData(3, node.LocalAxis); -// GsaBool6 restraint1 = new GsaBool6 -// { -// X = node.API_Node.Restraint.X, -// Y = node.API_Node.Restraint.Y, -// Z = node.API_Node.Restraint.Z, -// XX = node.API_Node.Restraint.XX, -// YY = node.API_Node.Restraint.YY, -// ZZ = node.API_Node.Restraint.ZZ -// }; -// DA.SetData(4, new GsaBool6Goo(restraint1)); -// //GsaSpring spring1 = new GsaSpring(); -// //if (node.Spring != null) -// //{ -// // spring1 = node.Spring.Duplicate(); -// //} -// //DA.SetData(5, new GsaSpringGoo(spring1)); -// DA.SetData(6, node.API_Node.Name); -// DA.SetData(7, node.Colour); -// try { DA.SetDataList(8, node.API_Node.ConnectedElements); } catch (Exception) { } -// try { DA.SetDataList(9, node.API_Node.ConnectedMembers); } catch (Exception) { } -// } -// } -// } -//} - diff --git a/GhSA/Components/GraveyardComp/EditSpring.cs b/GhSA/Components/GraveyardComp/EditSpring.cs deleted file mode 100644 index 388d70fbf..000000000 --- a/GhSA/Components/GraveyardComp/EditSpring.cs +++ /dev/null @@ -1,112 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; - -//namespace GhSA.Components -//{ -// /// -// /// Component to edit a Spring and ouput the information -// /// -// public class EditSpring_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("037f46d0-f0f6-4e99-8851-fc99d5e8205c"); -// public EditSpring_OBSOLETE() -// : base("Edit Spring", "SpringEdit", "Modify GSA Spring", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat1()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override GH_Exposure Exposure => GH_Exposure.hidden;// | GH_Exposure.obscure; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.EditSpring; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout - -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddGenericParameter("Spring", "PS", "GSA Spring to get or set information for", GH_ParamAccess.item); -// pManager.AddNumberParameter("X", "X", "X", GH_ParamAccess.item); -// pManager.AddNumberParameter("Y", "Y", "Y", GH_ParamAccess.item); -// pManager.AddNumberParameter("Z", "Z", "Z", GH_ParamAccess.item); -// pManager.AddNumberParameter("XX", "XX", "XX", GH_ParamAccess.item); -// pManager.AddNumberParameter("YY", "YY", "YY", GH_ParamAccess.item); -// pManager.AddNumberParameter("ZZ", "ZZ", "ZZ", GH_ParamAccess.item); -// for (int i = 0; i < pManager.ParamCount; i++) -// pManager[i].Optional = true; -// } - -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Spring", "PS", "GSA Spring with changes", GH_ParamAccess.item); -// pManager.AddNumberParameter("X", "X", "X", GH_ParamAccess.item); -// pManager.AddNumberParameter("Y", "Y", "Y", GH_ParamAccess.item); -// pManager.AddNumberParameter("Z", "Z", "Z", GH_ParamAccess.item); -// pManager.AddNumberParameter("XX", "XX", "XX", GH_ParamAccess.item); -// pManager.AddNumberParameter("YY", "YY", "YY", GH_ParamAccess.item); -// pManager.AddNumberParameter("ZZ", "ZZ", "ZZ", GH_ParamAccess.item); -// } -// #endregion - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaSpring spring = new GsaSpring(); -// GsaSpring gsaspring = new GsaSpring(); -// if (DA.GetData(0, ref gsaspring)) -// { -// spring = gsaspring.Duplicate(); -// } -// if (spring != null) -// { -// //inputs -// double x = 0; -// if (DA.GetData(1, ref x)) -// spring.X = x; -// double y = 0; -// if (DA.GetData(2, ref y)) -// spring.Y = y; -// double z = 0; -// if (DA.GetData(3, ref z)) -// spring.Z = z; -// double xx = 0; -// if (DA.GetData(4, ref xx)) -// spring.XX = xx; -// double yy = 0; -// if (DA.GetData(5, ref yy)) -// spring.YY = yy; -// double zz = 0; -// if (DA.GetData(6, ref zz)) -// spring.ZZ = zz; - -// //outputs -// DA.SetData(0, new GsaSpringGoo(spring)); -// DA.SetData(1, spring.X); -// DA.SetData(2, spring.Y); -// DA.SetData(3, spring.Z); -// DA.SetData(4, spring.XX); -// DA.SetData(5, spring.YY); -// DA.SetData(6, spring.ZZ); - -// this.AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Please note that springs are not yet supported in GsaGH"); -// } -// } -// } -//} - diff --git a/GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs b/GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs deleted file mode 100644 index 24ef9565a..000000000 --- a/GhSA/Components/GraveyardComp/EditUnits_OBSOLETE.cs +++ /dev/null @@ -1,296 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; -//using Grasshopper.Documentation; - -//namespace GhSA.Components -//{ -// public class EditGsaUnits_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("7804c8d8-07b9-43f2-af07-1a056dce8c6d"); -// public EditGsaUnits_OBSOLETE() -// : base("Edit GSA Units", "Unit", "Set GSA Units for this document", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat0()) -// { this.Hidden = true; } // sets the initial state of the component to hidden -// public override GH_Exposure Exposure => GH_Exposure.tertiary | GH_Exposure.obscure; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.EditUnits; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout - - -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) -// { -// pManager.AddTextParameter("Force Unit", "Force", "Set unit for Forces", GH_ParamAccess.item); -// pManager.AddTextParameter("Length Large Unit", "Geometry", "Set unit for modelled geometry. By default Rhino Document Unit is used", GH_ParamAccess.item); -// pManager.AddTextParameter("Length Small Unit", "Deflections", "Set unit for Cross-Sections", GH_ParamAccess.item); -// pManager.AddTextParameter("Section Length Unit", "Section", "Set unit for Cross-Sections", GH_ParamAccess.item); -// pManager.AddTextParameter("Mass unit", "Mass", "Set unit for Mass", GH_ParamAccess.item); -// pManager.AddTextParameter("Temperature unit", "Temperature", "Set unit for Temperature", GH_ParamAccess.item); -// pManager.AddTextParameter("Stress unit", "Stress", "Set unit for Stress", GH_ParamAccess.item); -// pManager.AddTextParameter("Strain unit", "Strain", "Set unit for Strain", GH_ParamAccess.item); -// pManager.AddTextParameter("Velocity unit", "Velocity", "Set unit for Velocity", GH_ParamAccess.item); -// pManager.AddTextParameter("Acceleration unit", "Acceleration", "Set unit for Acceleration", GH_ParamAccess.item); -// pManager.AddTextParameter("Energy unit", "Energy", "Set unit for Energy", GH_ParamAccess.item); -// pManager.AddTextParameter("Angle unit", "Angle", "Set unit for Angle", GH_ParamAccess.item); -// pManager.AddTextParameter("Time Short unit", "Time S", "Set unit for Time - short", GH_ParamAccess.item); -// pManager.AddTextParameter("Time Medium unit", "Time M", "Set unit for Time - medium", GH_ParamAccess.item); -// pManager.AddTextParameter("Time Long unit", "Time L", "Set unit for Time - Long", GH_ParamAccess.item); -// pManager.AddNumberParameter("Tolerance", "Tolerance", "Set Tolerance (using Length Large Unit)", GH_ParamAccess.item); -// for (int i = 0; i < pManager.ParamCount; i++) -// pManager[i].Optional = true; -// } - -// protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) -// { -// pManager.AddTextParameter("Units", "Units", "List of all units in document", GH_ParamAccess.list); -// } -// #endregion -// private void UpdateCanvas() -// { -// //none of these below will update the text. -// //to be implemented -// //method to redraw component descriptions/names when units are updated - -// //Instances.ActiveCanvas.Document.DestroyAttributeCache(); -// //IGH_Component comp1 = Instances.ActiveCanvas.Document.FindComponent(new Guid("6504a99f-a4e2-4e30-8251-de31ea83e8cb")); -// //comp1.OnAttributesChanged(); - -// for (int i = 0; i < Instances.ActiveCanvas.Document.Attributes.Count; i++) -// { -// if (Instances.ActiveCanvas.Document.Attributes[i].DocObject.NickName == "Profile") //set nickname here -// { -// if (Instances.ActiveCanvas.Document.Attributes[i] is GH_Component comp) -// { -// comp.ExpireSolution(true); -// for (int j = 0; j < comp.Params.Input.Count; j++) -// { -// for (int k = 0; k < comp.Params.Input[j].Sources.Count; k++) -// comp.Params.Input[j].Sources[k].Attributes.PerformLayout(); -// } -// } - - - -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.ExpireSolution(true); - - -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.Attributes.PerformLayout(); -// //Instances.ActiveCanvas.Document.Attributes[i].PerformLayout(); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.Attributes.ExpireLayout(); -// //Instances.ActiveCanvas.Document.Attributes[i].ExpireLayout(); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.CreateAttributes(); - -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.ExpirePreview(true); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.OnAttributesChanged(); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.OnDisplayExpired(true); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.OnObjectChanged(GH_ObjectEventType.Layout); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.OnObjectChanged(GH_ObjectEventType.PersistentData); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.OnPingDocument(); -// //Instances.ActiveCanvas.Document.Attributes[i].DocObject.OnPreviewExpired(true); -// } -// } -// } - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "It is currently not possible to set units back into a GSA model." -// + System.Environment.NewLine + "Any chances made here will not be reflected in a your model." -// + System.Environment.NewLine + "Please use [kN] for loads and [m] for model geometry, however you" -// + System.Environment.NewLine + "can use custom units for section profiles and prop2d thickness"); -// bool update = false; - -// GH_String ghstr = new GH_String(); -// if (DA.GetData(0, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Force = unit; -// update = true; -// } -// } - -// ghstr = new GH_String(); -// if (DA.GetData(1, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.LengthUnitGeometry = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(2, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.LengthUnitResult = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(3, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.LengthUnitSection = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(4, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Mass = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(5, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Temperature = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(6, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Stress = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(7, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Strain = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(8, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Velocity = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(9, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Acceleration = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(10, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Energy = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(11, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.Angle = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(12, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.TimeShort = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(13, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.TimeMedium = unit; -// update = true; -// } -// } -// ghstr = new GH_String(); -// if (DA.GetData(14, ref ghstr)) -// { -// if (GH_Convert.ToString(ghstr, out string unit, GH_Conversion.Both)) -// { -// Units.TimeLong = unit; -// update = true; -// } -// } -// GH_Number ghnum = new GH_Number(); -// if (DA.GetData(15, ref ghnum)) -// { -// if (GH_Convert.ToDouble(ghnum, out double tol, GH_Conversion.Both)) -// { -// Units.Tolerance = tol; -// update = true; -// } -// } -// List units = new List -// { -// "This output is for information purpose only -- This component will set the units used in this Grasshopper file", -// "Force: " + Units.Force, -// "Length Large: " + Units.LengthUnitGeometry -// + ((Units.LengthUnitGeometry == Units.RhinoDocUnit) ? "" : System.Environment.NewLine + "NB: Not similar to Rhino Document units!"), -// "Length Small: " + Units.LengthUnitResult, -// "Length Section: " + Units.LengthUnitSection, -// "Mass: " + Units.Mass, -// "Temperature: " + Units.Temperature, -// "Stress: " + Units.Stress, -// "Strain: " + Units.Strain, -// "Velocity: " + Units.Velocity, -// "Acceleration: " + Units.Acceleration, -// "Energy: " + Units.Energy, -// "Angle: " + Units.Angle, -// "Time - short: " + Units.TimeShort, -// "Time - medium: " + Units.TimeMedium, -// "Time - long: " + Units.TimeLong, -// "Tolerance: " + Units.Tolerance -// }; -// if (update) -// UpdateCanvas(); -// DA.SetDataList(0, units); - -// } -// } -//} - diff --git a/GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs b/GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs deleted file mode 100644 index 612500b8e..000000000 --- a/GhSA/Components/GraveyardComp/GetGeometry_OBSOLETE.cs +++ /dev/null @@ -1,267 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using Grasshopper.Kernel.Data; -//using System.Collections.Concurrent; - -//namespace GhSA.Components -//{ -// /// -// /// Component to retrieve geometric objects from a GSA model -// /// -// public class GetGeometry_OBSOLETE : GH_OasysComponent, IGH_PreviewObject, IGH_VariableParameterComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("7879a335-cdf3-4412-9a29-c710778430ff"); -// public GetGeometry_OBSOLETE() -// : base("Get Model Geometry", "GetGeo", "Get nodes, elements and members from GSA model", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat0()) -// { -// } - -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GetGeometry; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout -// #region menu override -// private enum FoldMode -// { -// Graft, -// List -// } - -// private FoldMode _mode = FoldMode.Graft; - -// protected override void AppendAdditionalComponentMenuItems(ToolStripDropDown menu) -// { -// Menu_AppendItem(menu, "Graft by Property", GraftModeClicked, true, _mode == FoldMode.Graft); -// Menu_AppendItem(menu, "List", ListModeClicked, true, _mode == FoldMode.List); - -// } -// private void GraftModeClicked(object sender, EventArgs e) -// { -// if (_mode == FoldMode.Graft) -// return; - -// RecordUndoEvent("Graft by Property"); -// _mode = FoldMode.Graft; - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// Message = "Graft by Property"; -// ExpireSolution(true); -// } - -// private void ListModeClicked(object sender, EventArgs e) -// { -// if (_mode == FoldMode.List) -// return; - -// RecordUndoEvent("List"); -// _mode = FoldMode.List; - -// (this as IGH_VariableParameterComponent).VariableParameterMaintenance(); -// Params.OnParametersChanged(); -// Message = "Import as List"; -// ExpireSolution(true); -// } - -// #endregion -// #region (de)serialization -// public override bool Write(GH_IO.Serialization.GH_IWriter writer) -// { -// writer.SetInt32("Mode", (int)_mode); -// return base.Write(writer); -// } -// public override bool Read(GH_IO.Serialization.GH_IReader reader) -// { -// _mode = (FoldMode)reader.GetInt32("Mode"); -// return base.Read(reader); -// } - -// bool IGH_VariableParameterComponent.CanInsertParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// bool IGH_VariableParameterComponent.CanRemoveParameter(GH_ParameterSide side, int index) -// { -// return false; -// } -// IGH_Param IGH_VariableParameterComponent.CreateParameter(GH_ParameterSide side, int index) -// { -// return null; -// } -// bool IGH_VariableParameterComponent.DestroyParameter(GH_ParameterSide side, int index) -// { -// return false; -// } - -// void IGH_VariableParameterComponent.VariableParameterMaintenance() -// { -// } - -// #endregion -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddGenericParameter("GSA Model", "GSA", "GSA model containing some geometry", GH_ParamAccess.item); -// pManager.AddTextParameter("Node filter list", "No", "Filter import by list." + System.Environment.NewLine + -// "Node list should take the form:" + System.Environment.NewLine + -// " 1 11 to 72 step 2 not (XY3 31 to 45)" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary.", GH_ParamAccess.item, "All"); -// pManager.AddTextParameter("Element filter list", "El", "Filter import by list." + System.Environment.NewLine + -// "Element list should take the form:" + System.Environment.NewLine + -// " 1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (PA PB1 PS2 PM3 PA4 M1)" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary.", GH_ParamAccess.item, "All"); -// pManager.AddTextParameter("Member filter list", "Me", "Filter import by list." + System.Environment.NewLine + -// "Member list should take the form:" + System.Environment.NewLine + -// " 1 11 to 20 step 2 P1 not (G1 to G6 step 3) P11 not (Z4 XY55)" + System.Environment.NewLine + -// "Refer to GSA help file for definition of lists and full vocabulary.", GH_ParamAccess.item, "All"); -// pManager[1].Optional = true; -// pManager[2].Optional = true; -// pManager[3].Optional = true; - -// //_mode = FoldMode.Graft; -// //Message = "Graft by Property" + System.Environment.NewLine + "Right-click to change"; -// } - -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddGenericParameter("Nodes", "No", "Nodes from GSA Model", GH_ParamAccess.list); -// pManager.HideParameter(0); -// pManager.AddGenericParameter("1D Elements", "E1D", "1D Elements (Analysis Layer) from GSA Model", GH_ParamAccess.list); -// pManager.AddGenericParameter("2D Elements", "E2D", "2D Elements (Analysis Layer) from GSA Model", GH_ParamAccess.list); -// pManager.AddGenericParameter("3D Elements", "E3D", "3D Elements (Analysis Layer) from GSA Model", GH_ParamAccess.list); -// pManager.HideParameter(2); -// pManager.HideParameter(3); -// pManager.AddGenericParameter("1D Members", "M1D", "1D Members (Design Layer) from GSA Model", GH_ParamAccess.list); -// pManager.AddGenericParameter("2D Members", "M2D", "2D Members (Design Layer) from GSA Model", GH_ParamAccess.list); -// pManager.AddGenericParameter("3D Members", "M3D", "3D Members (Design Layer) from GSA Model", GH_ParamAccess.list); -// } -// #endregion - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GsaModel gsaModel = new GsaModel(); -// GH_ObjectWrapper gh_typ = new GH_ObjectWrapper(); -// if (DA.GetData(0, ref gh_typ)) -// { -// if (gh_typ.Value is GsaModelGoo) -// gh_typ.CastTo(ref gsaModel); -// else -// { -// AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Error converting input to GSA Model"); -// return; -// } - -// //GsaModel in_Model = gsaModel.Clone(); -// Model model = gsaModel.Model; - -// // import lists -// string nodeList = "all"; -// if (DA.GetData(1, ref nodeList)) -// nodeList = nodeList.ToString(); -// string elemList = "all"; -// if (DA.GetData(2, ref elemList)) -// elemList = elemList.ToString(); -// string memList = "all"; -// if (DA.GetData(3, ref memList)) -// memList = memList.ToString(); - - -// // get dictionaries from model -// ConcurrentDictionary nDict = new ConcurrentDictionary(model.Nodes()); -// ConcurrentDictionary eDict = new ConcurrentDictionary(model.Elements(elemList)); -// ConcurrentDictionary mDict = new ConcurrentDictionary(model.Members(memList)); -// ConcurrentDictionary sDict = new ConcurrentDictionary(model.Sections()); -// ConcurrentDictionary pDict = new ConcurrentDictionary(model.Prop2Ds()); -// ConcurrentDictionary axDict = new ConcurrentDictionary(model.Axes()); -// ConcurrentDictionary out_nDict = (nodeList == "all") ? nDict : new ConcurrentDictionary(model.Nodes(nodeList)); - -// // create nodes -// List nodes = Util.Gsa.FromGSA.GetNodes(out_nDict, axDict); -// // create elements -// Tuple, List, List> elementTuple -// = Util.Gsa.FromGSA.GetElements(eDict, nDict, sDict, pDict); -// // create members -// Tuple, List, List> memberTuple -// = Util.Gsa.FromGSA.GetMembers(mDict, nDict, sDict, pDict); - -// DA.SetDataList(0, nodes); - -// DA.SetDataList(1, elementTuple.Item1); -// DA.SetDataList(2, elementTuple.Item2); -// DA.SetDataList(3, elementTuple.Item3); - -// DA.SetDataList(4, memberTuple.Item1); -// DA.SetDataList(5, memberTuple.Item2); -// DA.SetDataList(6, memberTuple.Item3); - -// element2ds = elementTuple.Item2; -// } -// } - -// List element2ds; - -// public override void DrawViewportWires(IGH_PreviewArgs args) -// { -// base.DrawViewportWires(args); - -// if (element2ds != null) -// { -// foreach (GsaElement2dGoo element in element2ds) -// { -// if (element == null) { continue; } -// //Draw lines -// if (element.Value.Mesh != null) -// { -// if (element.Value.API_Elements[0].ParentMember.Member > 0) // only draw mesh shading if no parent member exist. -// { -// args.Display.DrawMeshWires(element.Value.Mesh, System.Drawing.Color.FromArgb(255, 229, 229, 229), 1); - -// //for (int i = 0; i < element.Value.Mesh.TopologyEdges.Count; i++) -// //{ -// // if (element.Value.Mesh.TopologyEdges.GetConnectedFaces(i).Length > 1) -// // args.Display.DrawLine(element.Value.Mesh.TopologyEdges.EdgeLine(i), System.Drawing.Color.FromArgb(255, 229, 229, 229), 1); -// //} -// } -// else -// { -// if (this.Attributes.Selected) -// { -// args.Display.DrawMeshWires(element.Value.Mesh, UI.Colour.Element2dEdgeSelected, 2); -// //for (int i = 0; i < element.Value.Mesh.TopologyEdges.Count; i++) -// // args.Display.DrawLine(element.Value.Mesh.TopologyEdges.EdgeLine(i), UI.Colour.Element2dEdgeSelected, 2); -// } -// else -// { -// args.Display.DrawMeshWires(element.Value.Mesh, UI.Colour.Element2dEdge, 1); -// //for (int i = 0; i < element.Value.Mesh.TopologyEdges.Count; i++) -// // args.Display.DrawLine(element.Value.Mesh.TopologyEdges.EdgeLine(i), UI.Colour.Element2dEdge, 1); -// } -// } -// } -// } -// } -// } -// } -//} - diff --git a/GhSA/Components/GraveyardComp/Version_OBSOLETE.cs b/GhSA/Components/GraveyardComp/Version_OBSOLETE.cs deleted file mode 100644 index 745e62787..000000000 --- a/GhSA/Components/GraveyardComp/Version_OBSOLETE.cs +++ /dev/null @@ -1,68 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Grasshopper.Kernel.Attributes; -//using Grasshopper.GUI.Canvas; -//using Grasshopper.GUI; -//using Grasshopper.Kernel; -//using Grasshopper; -//using Rhino.Geometry; -//using System.Windows.Forms; -//using Grasshopper.Kernel.Types; -//using GsaAPI; -//using GhSA.Parameters; -//using System.Resources; -//using Grasshopper.Documentation; -//using System.IO; - - -//namespace GhSA.Components -//{ -// public class GsaVersion_OBSOLETE : GH_OasysComponent -// { -// #region Name and Ribbon Layout -// // This region handles how the component in displayed on the ribbon -// // including name, exposure level and icon -// public override Guid ComponentGuid => new Guid("0d64cc30-f24b-4940-97e8-2fb1eb9fef95"); -// public GsaVersion_OBSOLETE() -// : base("GSA Plugin Version", "Version", "Get the version of this plugin.", -// Ribbon.CategoryName.Name(), -// Ribbon.SubCategoryName.Cat0()) -// { this.Hidden = true; } // sets the initial state of the component to hidden - -// public override GH_Exposure Exposure => GH_Exposure.hidden; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GsaVersion; -// #endregion - -// #region Custom UI -// //This region overrides the typical component layout - - -// #endregion - -// #region Input and output - -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { - -// } - -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddTextParameter("GSA Plugin Version", "Plugin", "Plugin version", GH_ParamAccess.item); -// pManager.AddTextParameter("Location", "File", "Plugin File Location", GH_ParamAccess.item); -// pManager.AddTextParameter("GSA Location", "GSA", "GSA Folder Location", GH_ParamAccess.item); -// } -// #endregion - -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// GH_AssemblyInfo gsaplugin = Grasshopper.Instances.ComponentServer.FindAssembly(new Guid("a3b08c32-f7de-4b00-b415-f8b466f05e9f")); - -// DA.SetData(0, gsaplugin.Version); -// DA.SetData(1, gsaplugin.Location); -// DA.SetData(2, Util.Gsa.InstallationFolderPath.GetPath); -// } -// } -//} - diff --git a/GhSA/Parameters/GsaSpringParam.cs b/GhSA/Parameters/GsaSpringParam.cs deleted file mode 100644 index 18c7806d7..000000000 --- a/GhSA/Parameters/GsaSpringParam.cs +++ /dev/null @@ -1,312 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; - -//using GsaAPI; -//using Grasshopper.Kernel; -//using Grasshopper.Kernel.Types; -//using Rhino.Geometry; -//using Rhino; -//using GhSA.Util.Gsa; -//using Grasshopper.Documentation; -//using Rhino.Collections; - -//namespace GhSA.Parameters -//{ -// /// -// /// Spring class, this class defines the basic properties and methods for any Gsa Spring -// /// -// public class GsaSpring - -// { -// public double X -// { -// get { return m_x; } -// set { m_x = value; } -// } - -// public double Y -// { -// get { return m_y; } -// set { m_y = value; } -// } - -// public double Z -// { -// get { return m_z; } -// set { m_z = value; } -// } - -// public double XX -// { -// get { return m_xx; } -// set { m_xx = value; } -// } - -// public double YY -// { -// get { return m_yy; } -// set { m_yy = value; } -// } - -// public double ZZ -// { -// get { return m_zz; } -// set { m_zz = value; } -// } - -// #region fields -// private double m_x; -// private double m_y; -// private double m_z; -// private double m_xx; -// private double m_yy; -// private double m_zz; -// #endregion - -// #region constructors -// public GsaSpring() -// { - -// } - -// //public GsaSpring(Double6 double6) -// //{ -// // m_x = double6.X; -// // m_y = double6.Y; -// // m_z = double6.Z; -// // m_xx = double6.XX; -// // m_yy = double6.YY; -// // m_zz = double6.ZZ; -// //} - - -// public GsaSpring Duplicate() -// { -// if (this == null) { return null; } -// GsaSpring dup = new GsaSpring -// { -// X = m_x, -// Y = m_y, -// Z = m_z, -// XX = m_xx, -// YY = m_yy, -// ZZ = m_zz -// }; - -// return dup; -// } -// #endregion - -// #region properties -// public bool IsValid -// { -// get -// { -// if (this == null) { return false; } -// return true; -// } -// } - - -// #endregion - -// #region methods -// public override string ToString() -// { -// string str = "{X:" + X.ToString() -// + ", Y:" + Y.ToString() -// + ", Z:" + Z.ToString() -// + ", XX:" + XX.ToString() -// + ", YY:" + YY.ToString() -// + ", ZZ:" + ZZ.ToString() + "}"; -// return "GSA Spring " + str; -// } - -// #endregion -// } - -// /// -// /// GsaSrping Goo wrapper class, makes sure GsaSpring can be used in Grasshopper. -// /// -// public class GsaSpringGoo : GH_Goo -// { -// #region constructors -// public GsaSpringGoo() -// { -// this.Value = new GsaSpring(); -// } -// public GsaSpringGoo(GsaSpring spring) -// { -// if (spring == null) -// spring = new GsaSpring(); -// this.Value = spring; //spring.Duplicate(); -// } - -// public override IGH_Goo Duplicate() -// { -// return DuplicateGsaSpring(); -// } -// public GsaSpringGoo DuplicateGsaSpring() -// { -// return new GsaSpringGoo(Value == null ? new GsaSpring() : Value); //Value.Duplicate()); -// } -// #endregion - -// #region properties -// public override bool IsValid -// { -// get -// { -// if (Value == null) { return false; } -// return true; -// } -// } -// public override string IsValidWhyNot -// { -// get -// { -// //if (Value == null) { return "No internal GsaSpring instance"; } -// if (Value.IsValid) { return string.Empty; } -// return Value.IsValid.ToString(); //Todo: beef this up to be more informative. -// } -// } -// public override string ToString() -// { -// if (Value == null) -// return "Null GSA Spring"; -// else -// return Value.ToString(); -// } -// public override string TypeName -// { -// get { return ("GSA Spring"); } -// } -// public override string TypeDescription -// { -// get { return ("GSA Spring (Type: General)"); } -// } - - -// #endregion - -// #region casting methods -// public override bool CastTo(ref Q target) -// { -// // This function is called when Grasshopper needs to convert this -// // instance of GsaSpring into some other type Q. - - -// if (typeof(Q).IsAssignableFrom(typeof(GsaSpring))) -// { -// if (Value == null) -// target = default; -// else -// target = (Q)(object)Value; -// return true; -// } - -// if (typeof(Q).IsAssignableFrom(typeof(Double6))) -// { -// if (Value == null) -// target = default; -// else -// target = (Q)(object)Value; -// return true; -// } - - -// target = default; -// return false; -// } -// public override bool CastFrom(object source) -// { -// // This function is called when Grasshopper needs to convert other data -// // into GsaSpring. - - -// if (source == null) { return false; } - -// //Cast from GsaSpring -// if (typeof(GsaSpring).IsAssignableFrom(source.GetType())) -// { -// Value = (GsaSpring)source; -// return true; -// } - - -// //Cast from double -// if (GH_Convert.ToDouble(source, out double myval, GH_Conversion.Both)) -// { -// Value.X = myval; -// // if input to parameter is a single number convert it to an axial spring -// return true; -// } - -// return false; -// } -// #endregion - - -// } - -// /// -// /// This class provides a Parameter interface for the Data_GsaModel type. -// /// -// public class GsaSpringParameter : GH_PersistentParam -// { -// public GsaSpringParameter() -// : base(new GH_InstanceDescription("Spring", "PS", "GSA Spring (Type: General)", GhSA.Components.Ribbon.CategoryName.Name(), GhSA.Components.Ribbon.SubCategoryName.Cat9())) -// { -// } - -// public override Guid ComponentGuid => new Guid("74f4dbb6-78c5-40b3-a4c6-259e3c7b716c"); - -// public override GH_Exposure Exposure => GH_Exposure.secondary | GH_Exposure.obscure; - -// protected override System.Drawing.Bitmap Icon => GhSA.Properties.Resources.GsaSpring; - -// //We do not allow users to pick parameter, -// //therefore the following 4 methods disable all this ui. -// protected override GH_GetterResult Prompt_Plural(ref List values) -// { -// return GH_GetterResult.cancel; -// } -// protected override GH_GetterResult Prompt_Singular(ref GsaSpringGoo value) -// { -// return GH_GetterResult.cancel; -// } -// protected override System.Windows.Forms.ToolStripMenuItem Menu_CustomSingleValueItem() -// { -// System.Windows.Forms.ToolStripMenuItem item = new System.Windows.Forms.ToolStripMenuItem -// { -// Text = "Not available", -// Visible = false -// }; -// return item; -// } -// protected override System.Windows.Forms.ToolStripMenuItem Menu_CustomMultiValueItem() -// { -// System.Windows.Forms.ToolStripMenuItem item = new System.Windows.Forms.ToolStripMenuItem -// { -// Text = "Not available", -// Visible = false -// }; -// return item; -// } - -// #region preview methods - -// public bool Hidden -// { -// get { return true; } -// //set { m_hidden = value; } -// } -// public bool IsPreviewCapable -// { -// get { return false; } -// } -// #endregion -// } - -//} diff --git a/GsaGH.sln b/GsaGH.sln index ce0c2bfac..feb350582 100644 --- a/GsaGH.sln +++ b/GsaGH.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.1.32210.238 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GsaGH", "GhSA\GsaGH.csproj", "{362F5ED1-BA80-4F21-881D-6BD8784612E4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GsaGH", "GsaGH\GsaGH.csproj", "{362F5ED1-BA80-4F21-881D-6BD8784612E4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestGhSA", "UnitTestGhSA\UnitTestGhSA.csproj", "{CE4EB299-EA12-48B1-BB13-0C5B83FF0B52}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestGsaGH", "UnitTestGsaGH\UnitTestGsaGH.csproj", "{CE4EB299-EA12-48B1-BB13-0C5B83FF0B52}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GsaGHTests", "GsaGHTests\GsaGHTests.csproj", "{42A3C97A-09F9-4A87-8E6D-46C9A6682E9C}" EndProject diff --git a/GhSA/App.config b/GsaGH/App.config similarity index 100% rename from GhSA/App.config rename to GsaGH/App.config diff --git a/GhSA/Components/0_Model/CreateModel.cs b/GsaGH/Components/0_Model/CreateModel.cs similarity index 100% rename from GhSA/Components/0_Model/CreateModel.cs rename to GsaGH/Components/0_Model/CreateModel.cs diff --git a/GhSA/Components/0_Model/GetAnalysis.cs b/GsaGH/Components/0_Model/GetAnalysis.cs similarity index 100% rename from GhSA/Components/0_Model/GetAnalysis.cs rename to GsaGH/Components/0_Model/GetAnalysis.cs diff --git a/GhSA/Components/0_Model/GetGeometry.cs b/GsaGH/Components/0_Model/GetGeometry.cs similarity index 100% rename from GhSA/Components/0_Model/GetGeometry.cs rename to GsaGH/Components/0_Model/GetGeometry.cs diff --git a/GhSA/Components/0_Model/GetLoads.cs b/GsaGH/Components/0_Model/GetLoads.cs similarity index 100% rename from GhSA/Components/0_Model/GetLoads.cs rename to GsaGH/Components/0_Model/GetLoads.cs diff --git a/GhSA/Components/0_Model/GetProperties.cs b/GsaGH/Components/0_Model/GetProperties.cs similarity index 100% rename from GhSA/Components/0_Model/GetProperties.cs rename to GsaGH/Components/0_Model/GetProperties.cs diff --git a/GhSA/Components/0_Model/OpenModel.cs b/GsaGH/Components/0_Model/OpenModel.cs similarity index 100% rename from GhSA/Components/0_Model/OpenModel.cs rename to GsaGH/Components/0_Model/OpenModel.cs diff --git a/GhSA/Components/0_Model/SaveModel.cs b/GsaGH/Components/0_Model/SaveModel.cs similarity index 100% rename from GhSA/Components/0_Model/SaveModel.cs rename to GsaGH/Components/0_Model/SaveModel.cs diff --git a/GhSA/Components/1_Properties/CreateBool6.cs b/GsaGH/Components/1_Properties/CreateBool6.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateBool6.cs rename to GsaGH/Components/1_Properties/CreateBool6.cs diff --git a/GhSA/Components/1_Properties/CreateMaterial.cs b/GsaGH/Components/1_Properties/CreateMaterial.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateMaterial.cs rename to GsaGH/Components/1_Properties/CreateMaterial.cs diff --git a/GhSA/Components/1_Properties/CreateOffset.cs b/GsaGH/Components/1_Properties/CreateOffset.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateOffset.cs rename to GsaGH/Components/1_Properties/CreateOffset.cs diff --git a/GhSA/Components/1_Properties/CreateProfile.cs b/GsaGH/Components/1_Properties/CreateProfile.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateProfile.cs rename to GsaGH/Components/1_Properties/CreateProfile.cs diff --git a/GhSA/Components/1_Properties/CreateProp2d.cs b/GsaGH/Components/1_Properties/CreateProp2d.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateProp2d.cs rename to GsaGH/Components/1_Properties/CreateProp2d.cs diff --git a/GhSA/Components/1_Properties/CreateProp3d.cs b/GsaGH/Components/1_Properties/CreateProp3d.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateProp3d.cs rename to GsaGH/Components/1_Properties/CreateProp3d.cs diff --git a/GhSA/Components/1_Properties/CreateSection.cs b/GsaGH/Components/1_Properties/CreateSection.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateSection.cs rename to GsaGH/Components/1_Properties/CreateSection.cs diff --git a/GhSA/Components/1_Properties/CreateSectionModifier.cs b/GsaGH/Components/1_Properties/CreateSectionModifier.cs similarity index 100% rename from GhSA/Components/1_Properties/CreateSectionModifier.cs rename to GsaGH/Components/1_Properties/CreateSectionModifier.cs diff --git a/GhSA/Components/1_Properties/CustomMaterial.cs b/GsaGH/Components/1_Properties/CustomMaterial.cs similarity index 100% rename from GhSA/Components/1_Properties/CustomMaterial.cs rename to GsaGH/Components/1_Properties/CustomMaterial.cs diff --git a/GhSA/Components/1_Properties/EditBool6.cs b/GsaGH/Components/1_Properties/EditBool6.cs similarity index 100% rename from GhSA/Components/1_Properties/EditBool6.cs rename to GsaGH/Components/1_Properties/EditBool6.cs diff --git a/GhSA/Components/1_Properties/EditMaterial.cs b/GsaGH/Components/1_Properties/EditMaterial.cs similarity index 100% rename from GhSA/Components/1_Properties/EditMaterial.cs rename to GsaGH/Components/1_Properties/EditMaterial.cs diff --git a/GhSA/Components/1_Properties/EditOffset.cs b/GsaGH/Components/1_Properties/EditOffset.cs similarity index 100% rename from GhSA/Components/1_Properties/EditOffset.cs rename to GsaGH/Components/1_Properties/EditOffset.cs diff --git a/GhSA/Components/1_Properties/EditProp2d.cs b/GsaGH/Components/1_Properties/EditProp2d.cs similarity index 100% rename from GhSA/Components/1_Properties/EditProp2d.cs rename to GsaGH/Components/1_Properties/EditProp2d.cs diff --git a/GhSA/Components/1_Properties/EditProp3d.cs b/GsaGH/Components/1_Properties/EditProp3d.cs similarity index 100% rename from GhSA/Components/1_Properties/EditProp3d.cs rename to GsaGH/Components/1_Properties/EditProp3d.cs diff --git a/GhSA/Components/1_Properties/EditSection.cs b/GsaGH/Components/1_Properties/EditSection.cs similarity index 100% rename from GhSA/Components/1_Properties/EditSection.cs rename to GsaGH/Components/1_Properties/EditSection.cs diff --git a/GhSA/Components/1_Properties/EditSectionModifier.cs b/GsaGH/Components/1_Properties/EditSectionModifier.cs similarity index 100% rename from GhSA/Components/1_Properties/EditSectionModifier.cs rename to GsaGH/Components/1_Properties/EditSectionModifier.cs diff --git a/GhSA/Components/1_Properties/MaterialProperties.cs b/GsaGH/Components/1_Properties/MaterialProperties.cs similarity index 100% rename from GhSA/Components/1_Properties/MaterialProperties.cs rename to GsaGH/Components/1_Properties/MaterialProperties.cs diff --git a/GhSA/Components/1_Properties/SectionProperties.cs b/GsaGH/Components/1_Properties/SectionProperties.cs similarity index 100% rename from GhSA/Components/1_Properties/SectionProperties.cs rename to GsaGH/Components/1_Properties/SectionProperties.cs diff --git a/GhSA/Components/1_Properties/TaperProfile.cs b/GsaGH/Components/1_Properties/TaperProfile.cs similarity index 100% rename from GhSA/Components/1_Properties/TaperProfile.cs rename to GsaGH/Components/1_Properties/TaperProfile.cs diff --git a/GhSA/Components/2_Geometry/CreateElement1d.cs b/GsaGH/Components/2_Geometry/CreateElement1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateElement1d.cs rename to GsaGH/Components/2_Geometry/CreateElement1d.cs diff --git a/GhSA/Components/2_Geometry/CreateElement2d.cs b/GsaGH/Components/2_Geometry/CreateElement2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateElement2d.cs rename to GsaGH/Components/2_Geometry/CreateElement2d.cs diff --git a/GhSA/Components/2_Geometry/CreateMember1d.cs b/GsaGH/Components/2_Geometry/CreateMember1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateMember1d.cs rename to GsaGH/Components/2_Geometry/CreateMember1d.cs diff --git a/GhSA/Components/2_Geometry/CreateMember2d.cs b/GsaGH/Components/2_Geometry/CreateMember2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateMember2d.cs rename to GsaGH/Components/2_Geometry/CreateMember2d.cs diff --git a/GhSA/Components/2_Geometry/CreateMember3d.cs b/GsaGH/Components/2_Geometry/CreateMember3d.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateMember3d.cs rename to GsaGH/Components/2_Geometry/CreateMember3d.cs diff --git a/GhSA/Components/2_Geometry/CreateSupport.cs b/GsaGH/Components/2_Geometry/CreateSupport.cs similarity index 100% rename from GhSA/Components/2_Geometry/CreateSupport.cs rename to GsaGH/Components/2_Geometry/CreateSupport.cs diff --git a/GhSA/Components/2_Geometry/EditElement1d.cs b/GsaGH/Components/2_Geometry/EditElement1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditElement1d.cs rename to GsaGH/Components/2_Geometry/EditElement1d.cs diff --git a/GhSA/Components/2_Geometry/EditElement2d.cs b/GsaGH/Components/2_Geometry/EditElement2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditElement2d.cs rename to GsaGH/Components/2_Geometry/EditElement2d.cs diff --git a/GhSA/Components/2_Geometry/EditElement3d.cs b/GsaGH/Components/2_Geometry/EditElement3d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditElement3d.cs rename to GsaGH/Components/2_Geometry/EditElement3d.cs diff --git a/GhSA/Components/2_Geometry/EditMember1d.cs b/GsaGH/Components/2_Geometry/EditMember1d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditMember1d.cs rename to GsaGH/Components/2_Geometry/EditMember1d.cs diff --git a/GhSA/Components/2_Geometry/EditMember2d.cs b/GsaGH/Components/2_Geometry/EditMember2d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditMember2d.cs rename to GsaGH/Components/2_Geometry/EditMember2d.cs diff --git a/GhSA/Components/2_Geometry/EditMember3d.cs b/GsaGH/Components/2_Geometry/EditMember3d.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditMember3d.cs rename to GsaGH/Components/2_Geometry/EditMember3d.cs diff --git a/GhSA/Components/2_Geometry/EditNode.cs b/GsaGH/Components/2_Geometry/EditNode.cs similarity index 100% rename from GhSA/Components/2_Geometry/EditNode.cs rename to GsaGH/Components/2_Geometry/EditNode.cs diff --git a/GhSA/Components/2_Geometry/Elem2dFromBrep.cs b/GsaGH/Components/2_Geometry/Elem2dFromBrep.cs similarity index 100% rename from GhSA/Components/2_Geometry/Elem2dFromBrep.cs rename to GsaGH/Components/2_Geometry/Elem2dFromBrep.cs diff --git a/GhSA/Components/2_Geometry/ElemFromMem.cs b/GsaGH/Components/2_Geometry/ElemFromMem.cs similarity index 100% rename from GhSA/Components/2_Geometry/ElemFromMem.cs rename to GsaGH/Components/2_Geometry/ElemFromMem.cs diff --git a/GhSA/Components/2_Geometry/LocalAxis.cs b/GsaGH/Components/2_Geometry/LocalAxis.cs similarity index 100% rename from GhSA/Components/2_Geometry/LocalAxis.cs rename to GsaGH/Components/2_Geometry/LocalAxis.cs diff --git a/GhSA/Components/3_Loads/CreateBeamLoads.cs b/GsaGH/Components/3_Loads/CreateBeamLoads.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateBeamLoads.cs rename to GsaGH/Components/3_Loads/CreateBeamLoads.cs diff --git a/GhSA/Components/3_Loads/CreateFaceLoads.cs b/GsaGH/Components/3_Loads/CreateFaceLoads.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateFaceLoads.cs rename to GsaGH/Components/3_Loads/CreateFaceLoads.cs diff --git a/GhSA/Components/3_Loads/CreateGravityLoad.cs b/GsaGH/Components/3_Loads/CreateGravityLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGravityLoad.cs rename to GsaGH/Components/3_Loads/CreateGravityLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridAreaLoad.cs b/GsaGH/Components/3_Loads/CreateGridAreaLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridAreaLoad.cs rename to GsaGH/Components/3_Loads/CreateGridAreaLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridLineLoad.cs b/GsaGH/Components/3_Loads/CreateGridLineLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridLineLoad.cs rename to GsaGH/Components/3_Loads/CreateGridLineLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridPlane.cs b/GsaGH/Components/3_Loads/CreateGridPlane.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridPlane.cs rename to GsaGH/Components/3_Loads/CreateGridPlane.cs diff --git a/GhSA/Components/3_Loads/CreateGridPointLoad.cs b/GsaGH/Components/3_Loads/CreateGridPointLoad.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridPointLoad.cs rename to GsaGH/Components/3_Loads/CreateGridPointLoad.cs diff --git a/GhSA/Components/3_Loads/CreateGridSurface.cs b/GsaGH/Components/3_Loads/CreateGridSurface.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateGridSurface.cs rename to GsaGH/Components/3_Loads/CreateGridSurface.cs diff --git a/GhSA/Components/3_Loads/CreateNodeLoads.cs b/GsaGH/Components/3_Loads/CreateNodeLoads.cs similarity index 100% rename from GhSA/Components/3_Loads/CreateNodeLoads.cs rename to GsaGH/Components/3_Loads/CreateNodeLoads.cs diff --git a/GhSA/Components/3_Loads/GridPlaneSurfaceProperties.cs b/GsaGH/Components/3_Loads/GridPlaneSurfaceProperties.cs similarity index 100% rename from GhSA/Components/3_Loads/GridPlaneSurfaceProperties.cs rename to GsaGH/Components/3_Loads/GridPlaneSurfaceProperties.cs diff --git a/GhSA/Components/3_Loads/LoadProperties.cs b/GsaGH/Components/3_Loads/LoadProperties.cs similarity index 100% rename from GhSA/Components/3_Loads/LoadProperties.cs rename to GsaGH/Components/3_Loads/LoadProperties.cs diff --git a/GhSA/Components/4_Analysis/Analyse.cs b/GsaGH/Components/4_Analysis/Analyse.cs similarity index 100% rename from GhSA/Components/4_Analysis/Analyse.cs rename to GsaGH/Components/4_Analysis/Analyse.cs diff --git a/GhSA/Components/4_Analysis/AnalysisCaseInfo.cs b/GsaGH/Components/4_Analysis/AnalysisCaseInfo.cs similarity index 100% rename from GhSA/Components/4_Analysis/AnalysisCaseInfo.cs rename to GsaGH/Components/4_Analysis/AnalysisCaseInfo.cs diff --git a/GhSA/Components/4_Analysis/CreateAnalysisCase.cs b/GsaGH/Components/4_Analysis/CreateAnalysisCase.cs similarity index 100% rename from GhSA/Components/4_Analysis/CreateAnalysisCase.cs rename to GsaGH/Components/4_Analysis/CreateAnalysisCase.cs diff --git a/GhSA/Components/4_Analysis/CreateAnalysisTask.cs b/GsaGH/Components/4_Analysis/CreateAnalysisTask.cs similarity index 100% rename from GhSA/Components/4_Analysis/CreateAnalysisTask.cs rename to GsaGH/Components/4_Analysis/CreateAnalysisTask.cs diff --git a/GhSA/Components/4_Analysis/CreateCombinationCase.cs b/GsaGH/Components/4_Analysis/CreateCombinationCase.cs similarity index 100% rename from GhSA/Components/4_Analysis/CreateCombinationCase.cs rename to GsaGH/Components/4_Analysis/CreateCombinationCase.cs diff --git a/GhSA/Components/4_Analysis/EditAnalysisTask.cs b/GsaGH/Components/4_Analysis/EditAnalysisTask.cs similarity index 100% rename from GhSA/Components/4_Analysis/EditAnalysisTask.cs rename to GsaGH/Components/4_Analysis/EditAnalysisTask.cs diff --git a/GhSA/Components/5_Results/BeamDispResult.cs b/GsaGH/Components/5_Results/BeamDispResult.cs similarity index 100% rename from GhSA/Components/5_Results/BeamDispResult.cs rename to GsaGH/Components/5_Results/BeamDispResult.cs diff --git a/GhSA/Components/5_Results/BeamForceResult.cs b/GsaGH/Components/5_Results/BeamForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/BeamForceResult.cs rename to GsaGH/Components/5_Results/BeamForceResult.cs diff --git a/GhSA/Components/5_Results/BeamStrainEnergyResult.cs b/GsaGH/Components/5_Results/BeamStrainEnergyResult.cs similarity index 100% rename from GhSA/Components/5_Results/BeamStrainEnergyResult.cs rename to GsaGH/Components/5_Results/BeamStrainEnergyResult.cs diff --git a/GhSA/Components/5_Results/Elem1dContourResults.cs b/GsaGH/Components/5_Results/Elem1dContourResults.cs similarity index 100% rename from GhSA/Components/5_Results/Elem1dContourResults.cs rename to GsaGH/Components/5_Results/Elem1dContourResults.cs diff --git a/GhSA/Components/5_Results/Elem2dContourResults.cs b/GsaGH/Components/5_Results/Elem2dContourResults.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dContourResults.cs rename to GsaGH/Components/5_Results/Elem2dContourResults.cs diff --git a/GhSA/Components/5_Results/Elem2dDisplacementResult.cs b/GsaGH/Components/5_Results/Elem2dDisplacementResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dDisplacementResult.cs rename to GsaGH/Components/5_Results/Elem2dDisplacementResult.cs diff --git a/GhSA/Components/5_Results/Elem2dForceResult.cs b/GsaGH/Components/5_Results/Elem2dForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dForceResult.cs rename to GsaGH/Components/5_Results/Elem2dForceResult.cs diff --git a/GhSA/Components/5_Results/Elem2dStressResult.cs b/GsaGH/Components/5_Results/Elem2dStressResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem2dStressResult.cs rename to GsaGH/Components/5_Results/Elem2dStressResult.cs diff --git a/GhSA/Components/5_Results/Elem3dDisplacementResult.cs b/GsaGH/Components/5_Results/Elem3dDisplacementResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem3dDisplacementResult.cs rename to GsaGH/Components/5_Results/Elem3dDisplacementResult.cs diff --git a/GhSA/Components/5_Results/Elem3dStressResult.cs b/GsaGH/Components/5_Results/Elem3dStressResult.cs similarity index 100% rename from GhSA/Components/5_Results/Elem3dStressResult.cs rename to GsaGH/Components/5_Results/Elem3dStressResult.cs diff --git a/GhSA/Components/5_Results/GlobalPerformanceResults.cs b/GsaGH/Components/5_Results/GlobalPerformanceResults.cs similarity index 100% rename from GhSA/Components/5_Results/GlobalPerformanceResults.cs rename to GsaGH/Components/5_Results/GlobalPerformanceResults.cs diff --git a/GhSA/Components/5_Results/NodeContourResults.cs b/GsaGH/Components/5_Results/NodeContourResults.cs similarity index 100% rename from GhSA/Components/5_Results/NodeContourResults.cs rename to GsaGH/Components/5_Results/NodeContourResults.cs diff --git a/GhSA/Components/5_Results/NodeDisplacementResult.cs b/GsaGH/Components/5_Results/NodeDisplacementResult.cs similarity index 100% rename from GhSA/Components/5_Results/NodeDisplacementResult.cs rename to GsaGH/Components/5_Results/NodeDisplacementResult.cs diff --git a/GhSA/Components/5_Results/NodeReactionForceResult.cs b/GsaGH/Components/5_Results/NodeReactionForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/NodeReactionForceResult.cs rename to GsaGH/Components/5_Results/NodeReactionForceResult.cs diff --git a/GhSA/Components/5_Results/SelectResults.cs b/GsaGH/Components/5_Results/SelectResults.cs similarity index 100% rename from GhSA/Components/5_Results/SelectResults.cs rename to GsaGH/Components/5_Results/SelectResults.cs diff --git a/GhSA/Components/5_Results/SpringReactionForceResult.cs b/GsaGH/Components/5_Results/SpringReactionForceResult.cs similarity index 100% rename from GhSA/Components/5_Results/SpringReactionForceResult.cs rename to GsaGH/Components/5_Results/SpringReactionForceResult.cs diff --git a/GhSA/Components/5_Results/TotalLoadsAndReactionResults.cs b/GsaGH/Components/5_Results/TotalLoadsAndReactionResults.cs similarity index 100% rename from GhSA/Components/5_Results/TotalLoadsAndReactionResults.cs rename to GsaGH/Components/5_Results/TotalLoadsAndReactionResults.cs diff --git a/GhSA/Components/GH_OasysComponent.cs b/GsaGH/Components/GH_OasysComponent.cs similarity index 100% rename from GhSA/Components/GH_OasysComponent.cs rename to GsaGH/Components/GH_OasysComponent.cs diff --git a/GhSA/Components/GH_OasysTaskCapableComponent.cs b/GsaGH/Components/GH_OasysTaskCapableComponent.cs similarity index 100% rename from GhSA/Components/GH_OasysTaskCapableComponent.cs rename to GsaGH/Components/GH_OasysTaskCapableComponent.cs diff --git a/GhSA/Components/GraveyardComp/CreateProfile_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/CreateProfile_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/CreateProfile_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/CreateProfile_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/EditSection_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/EditSection_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/EditSection_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/EditSection_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/EditTitles_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/EditTitles_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/EditTitles_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/EditTitles_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Elem1dResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Elem2dResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/Elem3dResults_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/GetAnalysis_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs b/GsaGH/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs similarity index 100% rename from GhSA/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs rename to GsaGH/Components/GraveyardComp/GlobalResult2_OBSOLETE .cs diff --git a/GhSA/Components/GraveyardComp/GlobalResult_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/GlobalResult_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/GlobalResult_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/GlobalResult_OBSOLETE.cs diff --git a/GhSA/Components/GraveyardComp/NodeResults_OBSOLETE.cs b/GsaGH/Components/GraveyardComp/NodeResults_OBSOLETE.cs similarity index 100% rename from GhSA/Components/GraveyardComp/NodeResults_OBSOLETE.cs rename to GsaGH/Components/GraveyardComp/NodeResults_OBSOLETE.cs diff --git a/GhSA/Components/Lab/Version.cs b/GsaGH/Components/Lab/Version.cs similarity index 100% rename from GhSA/Components/Lab/Version.cs rename to GsaGH/Components/Lab/Version.cs diff --git a/GhSA/Components/Other/ConvertUnitNumber.cs b/GsaGH/Components/Other/ConvertUnitNumber.cs similarity index 100% rename from GhSA/Components/Other/ConvertUnitNumber.cs rename to GsaGH/Components/Other/ConvertUnitNumber.cs diff --git a/GhSA/Components/Other/CreateUnitNumber.cs b/GsaGH/Components/Other/CreateUnitNumber.cs similarity index 100% rename from GhSA/Components/Other/CreateUnitNumber.cs rename to GsaGH/Components/Other/CreateUnitNumber.cs diff --git a/GhSA/GsaGH.csproj b/GsaGH/GsaGH.csproj similarity index 96% rename from GhSA/GsaGH.csproj rename to GsaGH/GsaGH.csproj index 9f1cee517..e0da70e8c 100644 --- a/GhSA/GsaGH.csproj +++ b/GsaGH/GsaGH.csproj @@ -134,12 +134,9 @@ - - - @@ -169,21 +166,16 @@ - - - - - @@ -194,12 +186,6 @@ - - - - - - @@ -251,7 +237,6 @@ - True diff --git a/GhSA/GsaGHInfo.cs b/GsaGH/GsaGHInfo.cs similarity index 97% rename from GhSA/GsaGHInfo.cs rename to GsaGH/GsaGHInfo.cs index 20427798c..499cbc8dc 100644 --- a/GhSA/GsaGHInfo.cs +++ b/GsaGH/GsaGHInfo.cs @@ -228,14 +228,6 @@ public override string AuthorContact return Contact; } } - public string Icon_url - { - get - { - // TODO to be updated - not supported by yak currently - return "https://raw.githubusercontent.com/arup-group/GSA-Grasshopper/master/GhSA/Properties/Icons/icons/4x/GsaGhLogo%404x.png"; - } - } public override string Version { diff --git a/GhSA/Helpers/Export/ConvertMembers.cs b/GsaGH/Helpers/Export/ConvertMembers.cs similarity index 100% rename from GhSA/Helpers/Export/ConvertMembers.cs rename to GsaGH/Helpers/Export/ConvertMembers.cs diff --git a/GhSA/Helpers/Export/ExportMembers.cs b/GsaGH/Helpers/Export/ExportMembers.cs similarity index 100% rename from GhSA/Helpers/Export/ExportMembers.cs rename to GsaGH/Helpers/Export/ExportMembers.cs diff --git a/GhSA/Helpers/Export/_GsaExport.cs b/GsaGH/Helpers/Export/_GsaExport.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExport.cs rename to GsaGH/Helpers/Export/_GsaExport.cs diff --git a/GhSA/Helpers/Export/_GsaExportElements.cs b/GsaGH/Helpers/Export/_GsaExportElements.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportElements.cs rename to GsaGH/Helpers/Export/_GsaExportElements.cs diff --git a/GhSA/Helpers/Export/_GsaExportLoads.cs b/GsaGH/Helpers/Export/_GsaExportLoads.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportLoads.cs rename to GsaGH/Helpers/Export/_GsaExportLoads.cs diff --git a/GhSA/Helpers/Export/_GsaExportNodes.cs b/GsaGH/Helpers/Export/_GsaExportNodes.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportNodes.cs rename to GsaGH/Helpers/Export/_GsaExportNodes.cs diff --git a/GhSA/Helpers/Export/_GsaExportProperties.cs b/GsaGH/Helpers/Export/_GsaExportProperties.cs similarity index 100% rename from GhSA/Helpers/Export/_GsaExportProperties.cs rename to GsaGH/Helpers/Export/_GsaExportProperties.cs diff --git a/GhSA/Helpers/LoadMainMenu.cs b/GsaGH/Helpers/LoadMainMenu.cs similarity index 100% rename from GhSA/Helpers/LoadMainMenu.cs rename to GsaGH/Helpers/LoadMainMenu.cs diff --git a/GhSA/Helpers/PostHog.cs b/GsaGH/Helpers/PostHog.cs similarity index 100% rename from GhSA/Helpers/PostHog.cs rename to GsaGH/Helpers/PostHog.cs diff --git a/GhSA/Helpers/_Colour.cs b/GsaGH/Helpers/_Colour.cs similarity index 100% rename from GhSA/Helpers/_Colour.cs rename to GsaGH/Helpers/_Colour.cs diff --git a/GhSA/Helpers/_DeSerialization.cs b/GsaGH/Helpers/_DeSerialization.cs similarity index 100% rename from GhSA/Helpers/_DeSerialization.cs rename to GsaGH/Helpers/_DeSerialization.cs diff --git a/GhSA/Helpers/_Display.cs b/GsaGH/Helpers/_Display.cs similarity index 100% rename from GhSA/Helpers/_Display.cs rename to GsaGH/Helpers/_Display.cs diff --git a/GhSA/Helpers/_GetInput.cs b/GsaGH/Helpers/_GetInput.cs similarity index 100% rename from GhSA/Helpers/_GetInput.cs rename to GsaGH/Helpers/_GetInput.cs diff --git a/GhSA/Helpers/_GhRibbonLayout.cs b/GsaGH/Helpers/_GhRibbonLayout.cs similarity index 100% rename from GhSA/Helpers/_GhRibbonLayout.cs rename to GsaGH/Helpers/_GhRibbonLayout.cs diff --git a/GhSA/Helpers/_GsaImport.cs b/GsaGH/Helpers/_GsaImport.cs similarity index 100% rename from GhSA/Helpers/_GsaImport.cs rename to GsaGH/Helpers/_GsaImport.cs diff --git a/GhSA/Helpers/_GsaPath.cs b/GsaGH/Helpers/_GsaPath.cs similarity index 100% rename from GhSA/Helpers/_GsaPath.cs rename to GsaGH/Helpers/_GsaPath.cs diff --git a/GhSA/Helpers/_GsaProfileConvert.cs b/GsaGH/Helpers/_GsaProfileConvert.cs similarity index 100% rename from GhSA/Helpers/_GsaProfileConvert.cs rename to GsaGH/Helpers/_GsaProfileConvert.cs diff --git a/GhSA/Helpers/_GsaResultsHelper.cs b/GsaGH/Helpers/_GsaResultsHelper.cs similarity index 100% rename from GhSA/Helpers/_GsaResultsHelper.cs rename to GsaGH/Helpers/_GsaResultsHelper.cs diff --git a/GhSA/Helpers/_RhinoConversions.cs b/GsaGH/Helpers/_RhinoConversions.cs similarity index 100% rename from GhSA/Helpers/_RhinoConversions.cs rename to GsaGH/Helpers/_RhinoConversions.cs diff --git a/GhSA/Helpers/_SqlReader.cs b/GsaGH/Helpers/_SqlReader.cs similarity index 100% rename from GhSA/Helpers/_SqlReader.cs rename to GsaGH/Helpers/_SqlReader.cs diff --git a/GhSA/Parameters/GH_UnitNumber.cs b/GsaGH/Parameters/GH_UnitNumber.cs similarity index 100% rename from GhSA/Parameters/GH_UnitNumber.cs rename to GsaGH/Parameters/GH_UnitNumber.cs diff --git a/GhSA/Parameters/GsaAnalysisCase.cs b/GsaGH/Parameters/GsaAnalysisCase.cs similarity index 100% rename from GhSA/Parameters/GsaAnalysisCase.cs rename to GsaGH/Parameters/GsaAnalysisCase.cs diff --git a/GhSA/Parameters/GsaAnalysisTask.cs b/GsaGH/Parameters/GsaAnalysisTask.cs similarity index 100% rename from GhSA/Parameters/GsaAnalysisTask.cs rename to GsaGH/Parameters/GsaAnalysisTask.cs diff --git a/GhSA/Parameters/GsaBool6Param.cs b/GsaGH/Parameters/GsaBool6Param.cs similarity index 100% rename from GhSA/Parameters/GsaBool6Param.cs rename to GsaGH/Parameters/GsaBool6Param.cs diff --git a/GhSA/Parameters/GsaCombinationCase.cs b/GsaGH/Parameters/GsaCombinationCase.cs similarity index 100% rename from GhSA/Parameters/GsaCombinationCase.cs rename to GsaGH/Parameters/GsaCombinationCase.cs diff --git a/GhSA/Parameters/GsaElem1dParam.cs b/GsaGH/Parameters/GsaElem1dParam.cs similarity index 100% rename from GhSA/Parameters/GsaElem1dParam.cs rename to GsaGH/Parameters/GsaElem1dParam.cs diff --git a/GhSA/Parameters/GsaElem2dParam.cs b/GsaGH/Parameters/GsaElem2dParam.cs similarity index 100% rename from GhSA/Parameters/GsaElem2dParam.cs rename to GsaGH/Parameters/GsaElem2dParam.cs diff --git a/GhSA/Parameters/GsaElem3dParam.cs b/GsaGH/Parameters/GsaElem3dParam.cs similarity index 100% rename from GhSA/Parameters/GsaElem3dParam.cs rename to GsaGH/Parameters/GsaElem3dParam.cs diff --git a/GhSA/Parameters/GsaGridPlaneSurfaceParam.cs b/GsaGH/Parameters/GsaGridPlaneSurfaceParam.cs similarity index 100% rename from GhSA/Parameters/GsaGridPlaneSurfaceParam.cs rename to GsaGH/Parameters/GsaGridPlaneSurfaceParam.cs diff --git a/GhSA/Parameters/GsaLoadParam.cs b/GsaGH/Parameters/GsaLoadParam.cs similarity index 100% rename from GhSA/Parameters/GsaLoadParam.cs rename to GsaGH/Parameters/GsaLoadParam.cs diff --git a/GhSA/Parameters/GsaMaterial.cs b/GsaGH/Parameters/GsaMaterial.cs similarity index 100% rename from GhSA/Parameters/GsaMaterial.cs rename to GsaGH/Parameters/GsaMaterial.cs diff --git a/GhSA/Parameters/GsaMem1dParam.cs b/GsaGH/Parameters/GsaMem1dParam.cs similarity index 100% rename from GhSA/Parameters/GsaMem1dParam.cs rename to GsaGH/Parameters/GsaMem1dParam.cs diff --git a/GhSA/Parameters/GsaMem2dParam.cs b/GsaGH/Parameters/GsaMem2dParam.cs similarity index 100% rename from GhSA/Parameters/GsaMem2dParam.cs rename to GsaGH/Parameters/GsaMem2dParam.cs diff --git a/GhSA/Parameters/GsaMem3dParam.cs b/GsaGH/Parameters/GsaMem3dParam.cs similarity index 100% rename from GhSA/Parameters/GsaMem3dParam.cs rename to GsaGH/Parameters/GsaMem3dParam.cs diff --git a/GhSA/Parameters/GsaModelParam.cs b/GsaGH/Parameters/GsaModelParam.cs similarity index 100% rename from GhSA/Parameters/GsaModelParam.cs rename to GsaGH/Parameters/GsaModelParam.cs diff --git a/GhSA/Parameters/GsaNodeParam.cs b/GsaGH/Parameters/GsaNodeParam.cs similarity index 100% rename from GhSA/Parameters/GsaNodeParam.cs rename to GsaGH/Parameters/GsaNodeParam.cs diff --git a/GhSA/Parameters/GsaOffsetParam.cs b/GsaGH/Parameters/GsaOffsetParam.cs similarity index 100% rename from GhSA/Parameters/GsaOffsetParam.cs rename to GsaGH/Parameters/GsaOffsetParam.cs diff --git a/GhSA/Parameters/GsaProp2d.cs b/GsaGH/Parameters/GsaProp2d.cs similarity index 100% rename from GhSA/Parameters/GsaProp2d.cs rename to GsaGH/Parameters/GsaProp2d.cs diff --git a/GhSA/Parameters/GsaProp3d.cs b/GsaGH/Parameters/GsaProp3d.cs similarity index 100% rename from GhSA/Parameters/GsaProp3d.cs rename to GsaGH/Parameters/GsaProp3d.cs diff --git a/GhSA/Parameters/GsaResult.cs b/GsaGH/Parameters/GsaResult.cs similarity index 100% rename from GhSA/Parameters/GsaResult.cs rename to GsaGH/Parameters/GsaResult.cs diff --git a/GhSA/Parameters/GsaSection.cs b/GsaGH/Parameters/GsaSection.cs similarity index 100% rename from GhSA/Parameters/GsaSection.cs rename to GsaGH/Parameters/GsaSection.cs diff --git a/GhSA/Parameters/GsaSectionModifierParam.cs b/GsaGH/Parameters/GsaSectionModifierParam.cs similarity index 100% rename from GhSA/Parameters/GsaSectionModifierParam.cs rename to GsaGH/Parameters/GsaSectionModifierParam.cs diff --git a/GhSA/Parameters/_ResultLine.cs b/GsaGH/Parameters/_ResultLine.cs similarity index 100% rename from GhSA/Parameters/_ResultLine.cs rename to GsaGH/Parameters/_ResultLine.cs diff --git a/GhSA/Parameters/_ResultMesh.cs b/GsaGH/Parameters/_ResultMesh.cs similarity index 100% rename from GhSA/Parameters/_ResultMesh.cs rename to GsaGH/Parameters/_ResultMesh.cs diff --git a/GhSA/Parameters/_ResultPoint.cs b/GsaGH/Parameters/_ResultPoint.cs similarity index 100% rename from GhSA/Parameters/_ResultPoint.cs rename to GsaGH/Parameters/_ResultPoint.cs diff --git a/GhSA/Parameters/_Titles.cs b/GsaGH/Parameters/_Titles.cs similarity index 100% rename from GhSA/Parameters/_Titles.cs rename to GsaGH/Parameters/_Titles.cs diff --git a/GhSA/Parameters/_Units.cs b/GsaGH/Parameters/_Units.cs similarity index 100% rename from GhSA/Parameters/_Units.cs rename to GsaGH/Parameters/_Units.cs diff --git a/GhSA/Properties/AssemblyInfo.cs b/GsaGH/Properties/AssemblyInfo.cs similarity index 100% rename from GhSA/Properties/AssemblyInfo.cs rename to GsaGH/Properties/AssemblyInfo.cs diff --git a/GhSA/Properties/Icons/Analyse.png b/GsaGH/Properties/Icons/Analyse.png similarity index 100% rename from GhSA/Properties/Icons/Analyse.png rename to GsaGH/Properties/Icons/Analyse.png diff --git a/GhSA/Properties/Icons/AnalysisCaseInfo.png b/GsaGH/Properties/Icons/AnalysisCaseInfo.png similarity index 100% rename from GhSA/Properties/Icons/AnalysisCaseInfo.png rename to GsaGH/Properties/Icons/AnalysisCaseInfo.png diff --git a/GhSA/Properties/Icons/AnalysisCaseParam.png b/GsaGH/Properties/Icons/AnalysisCaseParam.png similarity index 100% rename from GhSA/Properties/Icons/AnalysisCaseParam.png rename to GsaGH/Properties/Icons/AnalysisCaseParam.png diff --git a/GhSA/Properties/Icons/AnalysisTaskParam.png b/GsaGH/Properties/Icons/AnalysisTaskParam.png similarity index 100% rename from GhSA/Properties/Icons/AnalysisTaskParam.png rename to GsaGH/Properties/Icons/AnalysisTaskParam.png diff --git a/GhSA/Properties/Icons/AreaLoad.png b/GsaGH/Properties/Icons/AreaLoad.png similarity index 100% rename from GhSA/Properties/Icons/AreaLoad.png rename to GsaGH/Properties/Icons/AreaLoad.png diff --git a/GhSA/Properties/Icons/BeamDisplacement.png b/GsaGH/Properties/Icons/BeamDisplacement.png similarity index 100% rename from GhSA/Properties/Icons/BeamDisplacement.png rename to GsaGH/Properties/Icons/BeamDisplacement.png diff --git a/GhSA/Properties/Icons/BeamForces.png b/GsaGH/Properties/Icons/BeamForces.png similarity index 100% rename from GhSA/Properties/Icons/BeamForces.png rename to GsaGH/Properties/Icons/BeamForces.png diff --git a/GhSA/Properties/Icons/BeamLoad.png b/GsaGH/Properties/Icons/BeamLoad.png similarity index 100% rename from GhSA/Properties/Icons/BeamLoad.png rename to GsaGH/Properties/Icons/BeamLoad.png diff --git a/GhSA/Properties/Icons/Bool6Param.png b/GsaGH/Properties/Icons/Bool6Param.png similarity index 100% rename from GhSA/Properties/Icons/Bool6Param.png rename to GsaGH/Properties/Icons/Bool6Param.png diff --git a/GhSA/Properties/Icons/ConvertUnitNumber.png b/GsaGH/Properties/Icons/ConvertUnitNumber.png similarity index 100% rename from GhSA/Properties/Icons/ConvertUnitNumber.png rename to GsaGH/Properties/Icons/ConvertUnitNumber.png diff --git a/GhSA/Properties/Icons/CreateAnalysisCase.png b/GsaGH/Properties/Icons/CreateAnalysisCase.png similarity index 100% rename from GhSA/Properties/Icons/CreateAnalysisCase.png rename to GsaGH/Properties/Icons/CreateAnalysisCase.png diff --git a/GhSA/Properties/Icons/CreateAnalysisTask.png b/GsaGH/Properties/Icons/CreateAnalysisTask.png similarity index 100% rename from GhSA/Properties/Icons/CreateAnalysisTask.png rename to GsaGH/Properties/Icons/CreateAnalysisTask.png diff --git a/GhSA/Properties/Icons/CreateBool6.png b/GsaGH/Properties/Icons/CreateBool6.png similarity index 100% rename from GhSA/Properties/Icons/CreateBool6.png rename to GsaGH/Properties/Icons/CreateBool6.png diff --git a/GhSA/Properties/Icons/CreateCombination.png b/GsaGH/Properties/Icons/CreateCombination.png similarity index 100% rename from GhSA/Properties/Icons/CreateCombination.png rename to GsaGH/Properties/Icons/CreateCombination.png diff --git a/GhSA/Properties/Icons/CreateCombinationCase.png b/GsaGH/Properties/Icons/CreateCombinationCase.png similarity index 100% rename from GhSA/Properties/Icons/CreateCombinationCase.png rename to GsaGH/Properties/Icons/CreateCombinationCase.png diff --git a/GhSA/Properties/Icons/CreateElem1d.png b/GsaGH/Properties/Icons/CreateElem1d.png similarity index 100% rename from GhSA/Properties/Icons/CreateElem1d.png rename to GsaGH/Properties/Icons/CreateElem1d.png diff --git a/GhSA/Properties/Icons/CreateElem2d.png b/GsaGH/Properties/Icons/CreateElem2d.png similarity index 100% rename from GhSA/Properties/Icons/CreateElem2d.png rename to GsaGH/Properties/Icons/CreateElem2d.png diff --git a/GhSA/Properties/Icons/CreateElem3d.png b/GsaGH/Properties/Icons/CreateElem3d.png similarity index 100% rename from GhSA/Properties/Icons/CreateElem3d.png rename to GsaGH/Properties/Icons/CreateElem3d.png diff --git a/GhSA/Properties/Icons/CreateElemsFromBreps.png b/GsaGH/Properties/Icons/CreateElemsFromBreps.png similarity index 100% rename from GhSA/Properties/Icons/CreateElemsFromBreps.png rename to GsaGH/Properties/Icons/CreateElemsFromBreps.png diff --git a/GhSA/Properties/Icons/CreateElemsFromMems.png b/GsaGH/Properties/Icons/CreateElemsFromMems.png similarity index 100% rename from GhSA/Properties/Icons/CreateElemsFromMems.png rename to GsaGH/Properties/Icons/CreateElemsFromMems.png diff --git a/GhSA/Properties/Icons/CreateMaterial.png b/GsaGH/Properties/Icons/CreateMaterial.png similarity index 100% rename from GhSA/Properties/Icons/CreateMaterial.png rename to GsaGH/Properties/Icons/CreateMaterial.png diff --git a/GhSA/Properties/Icons/CreateMem1d.png b/GsaGH/Properties/Icons/CreateMem1d.png similarity index 100% rename from GhSA/Properties/Icons/CreateMem1d.png rename to GsaGH/Properties/Icons/CreateMem1d.png diff --git a/GhSA/Properties/Icons/CreateMem2d.png b/GsaGH/Properties/Icons/CreateMem2d.png similarity index 100% rename from GhSA/Properties/Icons/CreateMem2d.png rename to GsaGH/Properties/Icons/CreateMem2d.png diff --git a/GhSA/Properties/Icons/CreateMem3d.png b/GsaGH/Properties/Icons/CreateMem3d.png similarity index 100% rename from GhSA/Properties/Icons/CreateMem3d.png rename to GsaGH/Properties/Icons/CreateMem3d.png diff --git a/GhSA/Properties/Icons/CreateModel.png b/GsaGH/Properties/Icons/CreateModel.png similarity index 100% rename from GhSA/Properties/Icons/CreateModel.png rename to GsaGH/Properties/Icons/CreateModel.png diff --git a/GhSA/Properties/Icons/CreateOffset.png b/GsaGH/Properties/Icons/CreateOffset.png similarity index 100% rename from GhSA/Properties/Icons/CreateOffset.png rename to GsaGH/Properties/Icons/CreateOffset.png diff --git a/GhSA/Properties/Icons/CreateProfile.png b/GsaGH/Properties/Icons/CreateProfile.png similarity index 100% rename from GhSA/Properties/Icons/CreateProfile.png rename to GsaGH/Properties/Icons/CreateProfile.png diff --git a/GhSA/Properties/Icons/CreateProp2d.png b/GsaGH/Properties/Icons/CreateProp2d.png similarity index 100% rename from GhSA/Properties/Icons/CreateProp2d.png rename to GsaGH/Properties/Icons/CreateProp2d.png diff --git a/GhSA/Properties/Icons/CreateProp3d.png b/GsaGH/Properties/Icons/CreateProp3d.png similarity index 100% rename from GhSA/Properties/Icons/CreateProp3d.png rename to GsaGH/Properties/Icons/CreateProp3d.png diff --git a/GhSA/Properties/Icons/CreateSection.png b/GsaGH/Properties/Icons/CreateSection.png similarity index 100% rename from GhSA/Properties/Icons/CreateSection.png rename to GsaGH/Properties/Icons/CreateSection.png diff --git a/GhSA/Properties/Icons/CreateSectionModifier.png b/GsaGH/Properties/Icons/CreateSectionModifier.png similarity index 100% rename from GhSA/Properties/Icons/CreateSectionModifier.png rename to GsaGH/Properties/Icons/CreateSectionModifier.png diff --git a/GhSA/Properties/Icons/CreateSpring.png b/GsaGH/Properties/Icons/CreateSpring.png similarity index 100% rename from GhSA/Properties/Icons/CreateSpring.png rename to GsaGH/Properties/Icons/CreateSpring.png diff --git a/GhSA/Properties/Icons/CreateSupport.png b/GsaGH/Properties/Icons/CreateSupport.png similarity index 100% rename from GhSA/Properties/Icons/CreateSupport.png rename to GsaGH/Properties/Icons/CreateSupport.png diff --git a/GhSA/Properties/Icons/CreateUnitNumber.png b/GsaGH/Properties/Icons/CreateUnitNumber.png similarity index 100% rename from GhSA/Properties/Icons/CreateUnitNumber.png rename to GsaGH/Properties/Icons/CreateUnitNumber.png diff --git a/GhSA/Properties/Icons/CustomMaterial.png b/GsaGH/Properties/Icons/CustomMaterial.png similarity index 100% rename from GhSA/Properties/Icons/CustomMaterial.png rename to GsaGH/Properties/Icons/CustomMaterial.png diff --git a/GhSA/Properties/Icons/Displacement2D.png b/GsaGH/Properties/Icons/Displacement2D.png similarity index 100% rename from GhSA/Properties/Icons/Displacement2D.png rename to GsaGH/Properties/Icons/Displacement2D.png diff --git a/GhSA/Properties/Icons/Displacement3D.png b/GsaGH/Properties/Icons/Displacement3D.png similarity index 100% rename from GhSA/Properties/Icons/Displacement3D.png rename to GsaGH/Properties/Icons/Displacement3D.png diff --git a/GhSA/Properties/Icons/Documentation.png b/GsaGH/Properties/Icons/Documentation.png similarity index 100% rename from GhSA/Properties/Icons/Documentation.png rename to GsaGH/Properties/Icons/Documentation.png diff --git a/GhSA/Properties/Icons/EditAnalysisTask.png b/GsaGH/Properties/Icons/EditAnalysisTask.png similarity index 100% rename from GhSA/Properties/Icons/EditAnalysisTask.png rename to GsaGH/Properties/Icons/EditAnalysisTask.png diff --git a/GhSA/Properties/Icons/EditBool6.png b/GsaGH/Properties/Icons/EditBool6.png similarity index 100% rename from GhSA/Properties/Icons/EditBool6.png rename to GsaGH/Properties/Icons/EditBool6.png diff --git a/GhSA/Properties/Icons/EditElem1d.png b/GsaGH/Properties/Icons/EditElem1d.png similarity index 100% rename from GhSA/Properties/Icons/EditElem1d.png rename to GsaGH/Properties/Icons/EditElem1d.png diff --git a/GhSA/Properties/Icons/EditElem2d.png b/GsaGH/Properties/Icons/EditElem2d.png similarity index 100% rename from GhSA/Properties/Icons/EditElem2d.png rename to GsaGH/Properties/Icons/EditElem2d.png diff --git a/GhSA/Properties/Icons/EditElem3d.png b/GsaGH/Properties/Icons/EditElem3d.png similarity index 100% rename from GhSA/Properties/Icons/EditElem3d.png rename to GsaGH/Properties/Icons/EditElem3d.png diff --git a/GhSA/Properties/Icons/EditMaterial.png b/GsaGH/Properties/Icons/EditMaterial.png similarity index 100% rename from GhSA/Properties/Icons/EditMaterial.png rename to GsaGH/Properties/Icons/EditMaterial.png diff --git a/GhSA/Properties/Icons/EditMem1d.png b/GsaGH/Properties/Icons/EditMem1d.png similarity index 100% rename from GhSA/Properties/Icons/EditMem1d.png rename to GsaGH/Properties/Icons/EditMem1d.png diff --git a/GhSA/Properties/Icons/EditMem2d.png b/GsaGH/Properties/Icons/EditMem2d.png similarity index 100% rename from GhSA/Properties/Icons/EditMem2d.png rename to GsaGH/Properties/Icons/EditMem2d.png diff --git a/GhSA/Properties/Icons/EditMem3d.png b/GsaGH/Properties/Icons/EditMem3d.png similarity index 100% rename from GhSA/Properties/Icons/EditMem3d.png rename to GsaGH/Properties/Icons/EditMem3d.png diff --git a/GhSA/Properties/Icons/EditNode.png b/GsaGH/Properties/Icons/EditNode.png similarity index 100% rename from GhSA/Properties/Icons/EditNode.png rename to GsaGH/Properties/Icons/EditNode.png diff --git a/GhSA/Properties/Icons/EditOffset.png b/GsaGH/Properties/Icons/EditOffset.png similarity index 100% rename from GhSA/Properties/Icons/EditOffset.png rename to GsaGH/Properties/Icons/EditOffset.png diff --git a/GhSA/Properties/Icons/EditProp2d.png b/GsaGH/Properties/Icons/EditProp2d.png similarity index 100% rename from GhSA/Properties/Icons/EditProp2d.png rename to GsaGH/Properties/Icons/EditProp2d.png diff --git a/GhSA/Properties/Icons/EditProp3d.png b/GsaGH/Properties/Icons/EditProp3d.png similarity index 100% rename from GhSA/Properties/Icons/EditProp3d.png rename to GsaGH/Properties/Icons/EditProp3d.png diff --git a/GhSA/Properties/Icons/EditSection.png b/GsaGH/Properties/Icons/EditSection.png similarity index 100% rename from GhSA/Properties/Icons/EditSection.png rename to GsaGH/Properties/Icons/EditSection.png diff --git a/GhSA/Properties/Icons/EditSectionModifier.png b/GsaGH/Properties/Icons/EditSectionModifier.png similarity index 100% rename from GhSA/Properties/Icons/EditSectionModifier.png rename to GsaGH/Properties/Icons/EditSectionModifier.png diff --git a/GhSA/Properties/Icons/EditSpring.png b/GsaGH/Properties/Icons/EditSpring.png similarity index 100% rename from GhSA/Properties/Icons/EditSpring.png rename to GsaGH/Properties/Icons/EditSpring.png diff --git a/GhSA/Properties/Icons/Elem1dParam.png b/GsaGH/Properties/Icons/Elem1dParam.png similarity index 100% rename from GhSA/Properties/Icons/Elem1dParam.png rename to GsaGH/Properties/Icons/Elem1dParam.png diff --git a/GhSA/Properties/Icons/Elem2dParam.png b/GsaGH/Properties/Icons/Elem2dParam.png similarity index 100% rename from GhSA/Properties/Icons/Elem2dParam.png rename to GsaGH/Properties/Icons/Elem2dParam.png diff --git a/GhSA/Properties/Icons/Elem3dParam.png b/GsaGH/Properties/Icons/Elem3dParam.png similarity index 100% rename from GhSA/Properties/Icons/Elem3dParam.png rename to GsaGH/Properties/Icons/Elem3dParam.png diff --git a/GhSA/Properties/Icons/FaceLoad.png b/GsaGH/Properties/Icons/FaceLoad.png similarity index 100% rename from GhSA/Properties/Icons/FaceLoad.png rename to GsaGH/Properties/Icons/FaceLoad.png diff --git a/GhSA/Properties/Icons/Forces2D.png b/GsaGH/Properties/Icons/Forces2D.png similarity index 100% rename from GhSA/Properties/Icons/Forces2D.png rename to GsaGH/Properties/Icons/Forces2D.png diff --git a/GhSA/Properties/Icons/Forces3D.png b/GsaGH/Properties/Icons/Forces3D.png similarity index 100% rename from GhSA/Properties/Icons/Forces3D.png rename to GsaGH/Properties/Icons/Forces3D.png diff --git a/GhSA/Properties/Icons/GSAInfo.png b/GsaGH/Properties/Icons/GSAInfo.png similarity index 100% rename from GhSA/Properties/Icons/GSAInfo.png rename to GsaGH/Properties/Icons/GSAInfo.png diff --git a/GhSA/Properties/Icons/GSALogo.png b/GsaGH/Properties/Icons/GSALogo.png similarity index 100% rename from GhSA/Properties/Icons/GSALogo.png rename to GsaGH/Properties/Icons/GSALogo.png diff --git a/GhSA/Properties/Icons/GSALogo128.png b/GsaGH/Properties/Icons/GSALogo128.png similarity index 100% rename from GhSA/Properties/Icons/GSALogo128.png rename to GsaGH/Properties/Icons/GSALogo128.png diff --git a/GhSA/Properties/Icons/GetAnalysisTask.png b/GsaGH/Properties/Icons/GetAnalysisTask.png similarity index 100% rename from GhSA/Properties/Icons/GetAnalysisTask.png rename to GsaGH/Properties/Icons/GetAnalysisTask.png diff --git a/GhSA/Properties/Icons/GetGeometry.png b/GsaGH/Properties/Icons/GetGeometry.png similarity index 100% rename from GhSA/Properties/Icons/GetGeometry.png rename to GsaGH/Properties/Icons/GetGeometry.png diff --git a/GhSA/Properties/Icons/GetLoads.png b/GsaGH/Properties/Icons/GetLoads.png similarity index 100% rename from GhSA/Properties/Icons/GetLoads.png rename to GsaGH/Properties/Icons/GetLoads.png diff --git a/GhSA/Properties/Icons/GetSection.png b/GsaGH/Properties/Icons/GetSection.png similarity index 100% rename from GhSA/Properties/Icons/GetSection.png rename to GsaGH/Properties/Icons/GetSection.png diff --git a/GhSA/Properties/Icons/GlobalPerformance.png b/GsaGH/Properties/Icons/GlobalPerformance.png similarity index 100% rename from GhSA/Properties/Icons/GlobalPerformance.png rename to GsaGH/Properties/Icons/GlobalPerformance.png diff --git a/GhSA/Properties/Icons/GravityLoad.png b/GsaGH/Properties/Icons/GravityLoad.png similarity index 100% rename from GhSA/Properties/Icons/GravityLoad.png rename to GsaGH/Properties/Icons/GravityLoad.png diff --git a/GhSA/Properties/Icons/GridPlane.png b/GsaGH/Properties/Icons/GridPlane.png similarity index 100% rename from GhSA/Properties/Icons/GridPlane.png rename to GsaGH/Properties/Icons/GridPlane.png diff --git a/GhSA/Properties/Icons/GridPlaneParam.png b/GsaGH/Properties/Icons/GridPlaneParam.png similarity index 100% rename from GhSA/Properties/Icons/GridPlaneParam.png rename to GsaGH/Properties/Icons/GridPlaneParam.png diff --git a/GhSA/Properties/Icons/GridPlaneProperties.png b/GsaGH/Properties/Icons/GridPlaneProperties.png similarity index 100% rename from GhSA/Properties/Icons/GridPlaneProperties.png rename to GsaGH/Properties/Icons/GridPlaneProperties.png diff --git a/GhSA/Properties/Icons/GridSurface.png b/GsaGH/Properties/Icons/GridSurface.png similarity index 100% rename from GhSA/Properties/Icons/GridSurface.png rename to GsaGH/Properties/Icons/GridSurface.png diff --git a/GhSA/Properties/Icons/GsaLogo64.png b/GsaGH/Properties/Icons/GsaLogo64.png similarity index 100% rename from GhSA/Properties/Icons/GsaLogo64.png rename to GsaGH/Properties/Icons/GsaLogo64.png diff --git a/GhSA/Properties/Icons/LineLoad.png b/GsaGH/Properties/Icons/LineLoad.png similarity index 100% rename from GhSA/Properties/Icons/LineLoad.png rename to GsaGH/Properties/Icons/LineLoad.png diff --git a/GhSA/Properties/Icons/LoadInfo.png b/GsaGH/Properties/Icons/LoadInfo.png similarity index 100% rename from GhSA/Properties/Icons/LoadInfo.png rename to GsaGH/Properties/Icons/LoadInfo.png diff --git a/GhSA/Properties/Icons/LoadParam.png b/GsaGH/Properties/Icons/LoadParam.png similarity index 100% rename from GhSA/Properties/Icons/LoadParam.png rename to GsaGH/Properties/Icons/LoadParam.png diff --git a/GhSA/Properties/Icons/LocalAxes.png b/GsaGH/Properties/Icons/LocalAxes.png similarity index 100% rename from GhSA/Properties/Icons/LocalAxes.png rename to GsaGH/Properties/Icons/LocalAxes.png diff --git a/GhSA/Properties/Icons/MaterialParam.png b/GsaGH/Properties/Icons/MaterialParam.png similarity index 100% rename from GhSA/Properties/Icons/MaterialParam.png rename to GsaGH/Properties/Icons/MaterialParam.png diff --git a/GhSA/Properties/Icons/MaterialProperties.png b/GsaGH/Properties/Icons/MaterialProperties.png similarity index 100% rename from GhSA/Properties/Icons/MaterialProperties.png rename to GsaGH/Properties/Icons/MaterialProperties.png diff --git a/GhSA/Properties/Icons/Mem1dParam.png b/GsaGH/Properties/Icons/Mem1dParam.png similarity index 100% rename from GhSA/Properties/Icons/Mem1dParam.png rename to GsaGH/Properties/Icons/Mem1dParam.png diff --git a/GhSA/Properties/Icons/Mem2dParam.png b/GsaGH/Properties/Icons/Mem2dParam.png similarity index 100% rename from GhSA/Properties/Icons/Mem2dParam.png rename to GsaGH/Properties/Icons/Mem2dParam.png diff --git a/GhSA/Properties/Icons/Mem3dParam.png b/GsaGH/Properties/Icons/Mem3dParam.png similarity index 100% rename from GhSA/Properties/Icons/Mem3dParam.png rename to GsaGH/Properties/Icons/Mem3dParam.png diff --git a/GhSA/Properties/Icons/ModelParam.png b/GsaGH/Properties/Icons/ModelParam.png similarity index 100% rename from GhSA/Properties/Icons/ModelParam.png rename to GsaGH/Properties/Icons/ModelParam.png diff --git a/GhSA/Properties/Icons/NodeDisplacement.png b/GsaGH/Properties/Icons/NodeDisplacement.png similarity index 100% rename from GhSA/Properties/Icons/NodeDisplacement.png rename to GsaGH/Properties/Icons/NodeDisplacement.png diff --git a/GhSA/Properties/Icons/NodeLoad.png b/GsaGH/Properties/Icons/NodeLoad.png similarity index 100% rename from GhSA/Properties/Icons/NodeLoad.png rename to GsaGH/Properties/Icons/NodeLoad.png diff --git a/GhSA/Properties/Icons/NodeParam.png b/GsaGH/Properties/Icons/NodeParam.png similarity index 100% rename from GhSA/Properties/Icons/NodeParam.png rename to GsaGH/Properties/Icons/NodeParam.png diff --git a/GhSA/Properties/Icons/OffsetParam.png b/GsaGH/Properties/Icons/OffsetParam.png similarity index 100% rename from GhSA/Properties/Icons/OffsetParam.png rename to GsaGH/Properties/Icons/OffsetParam.png diff --git a/GhSA/Properties/Icons/OpenModel.png b/GsaGH/Properties/Icons/OpenModel.png similarity index 100% rename from GhSA/Properties/Icons/OpenModel.png rename to GsaGH/Properties/Icons/OpenModel.png diff --git a/GhSA/Properties/Icons/PointLoad.png b/GsaGH/Properties/Icons/PointLoad.png similarity index 100% rename from GhSA/Properties/Icons/PointLoad.png rename to GsaGH/Properties/Icons/PointLoad.png diff --git a/GhSA/Properties/Icons/Prop2dParam.png b/GsaGH/Properties/Icons/Prop2dParam.png similarity index 100% rename from GhSA/Properties/Icons/Prop2dParam.png rename to GsaGH/Properties/Icons/Prop2dParam.png diff --git a/GhSA/Properties/Icons/Prop3dParam.png b/GsaGH/Properties/Icons/Prop3dParam.png similarity index 100% rename from GhSA/Properties/Icons/Prop3dParam.png rename to GsaGH/Properties/Icons/Prop3dParam.png diff --git a/GhSA/Properties/Icons/ReactionForces.png b/GsaGH/Properties/Icons/ReactionForces.png similarity index 100% rename from GhSA/Properties/Icons/ReactionForces.png rename to GsaGH/Properties/Icons/ReactionForces.png diff --git a/GhSA/Properties/Icons/Result0D.png b/GsaGH/Properties/Icons/Result0D.png similarity index 100% rename from GhSA/Properties/Icons/Result0D.png rename to GsaGH/Properties/Icons/Result0D.png diff --git a/GhSA/Properties/Icons/Result1D.png b/GsaGH/Properties/Icons/Result1D.png similarity index 100% rename from GhSA/Properties/Icons/Result1D.png rename to GsaGH/Properties/Icons/Result1D.png diff --git a/GhSA/Properties/Icons/Result2D.png b/GsaGH/Properties/Icons/Result2D.png similarity index 100% rename from GhSA/Properties/Icons/Result2D.png rename to GsaGH/Properties/Icons/Result2D.png diff --git a/GhSA/Properties/Icons/Result3D.png b/GsaGH/Properties/Icons/Result3D.png similarity index 100% rename from GhSA/Properties/Icons/Result3D.png rename to GsaGH/Properties/Icons/Result3D.png diff --git a/GhSA/Properties/Icons/ResultGlobal.png b/GsaGH/Properties/Icons/ResultGlobal.png similarity index 100% rename from GhSA/Properties/Icons/ResultGlobal.png rename to GsaGH/Properties/Icons/ResultGlobal.png diff --git a/GhSA/Properties/Icons/ResultParam.png b/GsaGH/Properties/Icons/ResultParam.png similarity index 100% rename from GhSA/Properties/Icons/ResultParam.png rename to GsaGH/Properties/Icons/ResultParam.png diff --git a/GhSA/Properties/Icons/SaveModel.png b/GsaGH/Properties/Icons/SaveModel.png similarity index 100% rename from GhSA/Properties/Icons/SaveModel.png rename to GsaGH/Properties/Icons/SaveModel.png diff --git a/GhSA/Properties/Icons/SectionModifierParam.png b/GsaGH/Properties/Icons/SectionModifierParam.png similarity index 100% rename from GhSA/Properties/Icons/SectionModifierParam.png rename to GsaGH/Properties/Icons/SectionModifierParam.png diff --git a/GhSA/Properties/Icons/SectionParam.png b/GsaGH/Properties/Icons/SectionParam.png similarity index 100% rename from GhSA/Properties/Icons/SectionParam.png rename to GsaGH/Properties/Icons/SectionParam.png diff --git a/GhSA/Properties/Icons/SectionProperties.png b/GsaGH/Properties/Icons/SectionProperties.png similarity index 100% rename from GhSA/Properties/Icons/SectionProperties.png rename to GsaGH/Properties/Icons/SectionProperties.png diff --git a/GhSA/Properties/Icons/SelectResult.png b/GsaGH/Properties/Icons/SelectResult.png similarity index 100% rename from GhSA/Properties/Icons/SelectResult.png rename to GsaGH/Properties/Icons/SelectResult.png diff --git a/GhSA/Properties/Icons/SpringParam.png b/GsaGH/Properties/Icons/SpringParam.png similarity index 100% rename from GhSA/Properties/Icons/SpringParam.png rename to GsaGH/Properties/Icons/SpringParam.png diff --git a/GhSA/Properties/Icons/SpringReactionForces.png b/GsaGH/Properties/Icons/SpringReactionForces.png similarity index 100% rename from GhSA/Properties/Icons/SpringReactionForces.png rename to GsaGH/Properties/Icons/SpringReactionForces.png diff --git a/GhSA/Properties/Icons/StrainEnergyDensity.png b/GsaGH/Properties/Icons/StrainEnergyDensity.png similarity index 100% rename from GhSA/Properties/Icons/StrainEnergyDensity.png rename to GsaGH/Properties/Icons/StrainEnergyDensity.png diff --git a/GhSA/Properties/Icons/Stress2D.png b/GsaGH/Properties/Icons/Stress2D.png similarity index 100% rename from GhSA/Properties/Icons/Stress2D.png rename to GsaGH/Properties/Icons/Stress2D.png diff --git a/GhSA/Properties/Icons/Stress3D.png b/GsaGH/Properties/Icons/Stress3D.png similarity index 100% rename from GhSA/Properties/Icons/Stress3D.png rename to GsaGH/Properties/Icons/Stress3D.png diff --git a/GhSA/Properties/Icons/TaperProfile.png b/GsaGH/Properties/Icons/TaperProfile.png similarity index 100% rename from GhSA/Properties/Icons/TaperProfile.png rename to GsaGH/Properties/Icons/TaperProfile.png diff --git a/GhSA/Properties/Icons/Titles.png b/GsaGH/Properties/Icons/Titles.png similarity index 100% rename from GhSA/Properties/Icons/Titles.png rename to GsaGH/Properties/Icons/Titles.png diff --git a/GhSA/Properties/Icons/TotalLoadAndReaction.png b/GsaGH/Properties/Icons/TotalLoadAndReaction.png similarity index 100% rename from GhSA/Properties/Icons/TotalLoadAndReaction.png rename to GsaGH/Properties/Icons/TotalLoadAndReaction.png diff --git a/GhSA/Properties/Icons/UnitParam.png b/GsaGH/Properties/Icons/UnitParam.png similarity index 100% rename from GhSA/Properties/Icons/UnitParam.png rename to GsaGH/Properties/Icons/UnitParam.png diff --git a/GhSA/Properties/Icons/Units.png b/GsaGH/Properties/Icons/Units.png similarity index 100% rename from GhSA/Properties/Icons/Units.png rename to GsaGH/Properties/Icons/Units.png diff --git a/GhSA/Properties/Icons/path1220.png b/GsaGH/Properties/Icons/path1220.png similarity index 100% rename from GhSA/Properties/Icons/path1220.png rename to GsaGH/Properties/Icons/path1220.png diff --git a/GhSA/Properties/Icons/unused.png b/GsaGH/Properties/Icons/unused.png similarity index 100% rename from GhSA/Properties/Icons/unused.png rename to GsaGH/Properties/Icons/unused.png diff --git a/GhSA/Properties/Resources.Designer.cs b/GsaGH/Properties/Resources.Designer.cs similarity index 100% rename from GhSA/Properties/Resources.Designer.cs rename to GsaGH/Properties/Resources.Designer.cs diff --git a/GhSA/Properties/Resources.resx b/GsaGH/Properties/Resources.resx similarity index 100% rename from GhSA/Properties/Resources.resx rename to GsaGH/Properties/Resources.resx diff --git a/GhSA/UI/AboutBox.Designer.cs b/GsaGH/UI/AboutBox.Designer.cs similarity index 100% rename from GhSA/UI/AboutBox.Designer.cs rename to GsaGH/UI/AboutBox.Designer.cs diff --git a/GhSA/UI/AboutBox.cs b/GsaGH/UI/AboutBox.cs similarity index 100% rename from GhSA/UI/AboutBox.cs rename to GsaGH/UI/AboutBox.cs diff --git a/GhSA/UI/AboutBox.resx b/GsaGH/UI/AboutBox.resx similarity index 100% rename from GhSA/UI/AboutBox.resx rename to GsaGH/UI/AboutBox.resx diff --git a/GhSA/UI/Comp_Bool6.cs b/GsaGH/UI/Comp_Bool6.cs similarity index 100% rename from GhSA/UI/Comp_Bool6.cs rename to GsaGH/UI/Comp_Bool6.cs diff --git a/GhSA/UI/Comp_Button.cs b/GsaGH/UI/Comp_Button.cs similarity index 100% rename from GhSA/UI/Comp_Button.cs rename to GsaGH/UI/Comp_Button.cs diff --git a/GhSA/UI/Comp_CheckBox.cs b/GsaGH/UI/Comp_CheckBox.cs similarity index 100% rename from GhSA/UI/Comp_CheckBox.cs rename to GsaGH/UI/Comp_CheckBox.cs diff --git a/GhSA/UI/Comp_DropDown.cs b/GsaGH/UI/Comp_DropDown.cs similarity index 100% rename from GhSA/UI/Comp_DropDown.cs rename to GsaGH/UI/Comp_DropDown.cs diff --git a/GhSA/UI/Comp_MultiDropDowns.cs b/GsaGH/UI/Comp_MultiDropDowns.cs similarity index 100% rename from GhSA/UI/Comp_MultiDropDowns.cs rename to GsaGH/UI/Comp_MultiDropDowns.cs diff --git a/GhSA/UI/Comp_MultiDropDownsCheckBoxes.cs b/GsaGH/UI/Comp_MultiDropDownsCheckBoxes.cs similarity index 100% rename from GhSA/UI/Comp_MultiDropDownsCheckBoxes.cs rename to GsaGH/UI/Comp_MultiDropDownsCheckBoxes.cs diff --git a/GhSA/UI/Comp_MultiDropDownsSlider.cs b/GsaGH/UI/Comp_MultiDropDownsSlider.cs similarity index 100% rename from GhSA/UI/Comp_MultiDropDownsSlider.cs rename to GsaGH/UI/Comp_MultiDropDownsSlider.cs diff --git a/GhSA/UI/Comp_Profile.cs b/GsaGH/UI/Comp_Profile.cs similarity index 100% rename from GhSA/UI/Comp_Profile.cs rename to GsaGH/UI/Comp_Profile.cs diff --git a/GhSA/UI/Comp_Releases.cs b/GsaGH/UI/Comp_Releases.cs similarity index 100% rename from GhSA/UI/Comp_Releases.cs rename to GsaGH/UI/Comp_Releases.cs diff --git a/GhSA/UI/Comp_Slider.cs b/GsaGH/UI/Comp_Slider.cs similarity index 100% rename from GhSA/UI/Comp_Slider.cs rename to GsaGH/UI/Comp_Slider.cs diff --git a/GhSA/UI/Comp_Support.cs b/GsaGH/UI/Comp_Support.cs similarity index 100% rename from GhSA/UI/Comp_Support.cs rename to GsaGH/UI/Comp_Support.cs diff --git a/GhSA/UI/Comp_TripleButton.cs b/GsaGH/UI/Comp_TripleButton.cs similarity index 100% rename from GhSA/UI/Comp_TripleButton.cs rename to GsaGH/UI/Comp_TripleButton.cs diff --git a/GhSA/UI/GraphicButtons.cs b/GsaGH/UI/GraphicButtons.cs similarity index 100% rename from GhSA/UI/GraphicButtons.cs rename to GsaGH/UI/GraphicButtons.cs diff --git a/GhSA/UI/UnitSettingsBox.Designer.cs b/GsaGH/UI/UnitSettingsBox.Designer.cs similarity index 100% rename from GhSA/UI/UnitSettingsBox.Designer.cs rename to GsaGH/UI/UnitSettingsBox.Designer.cs diff --git a/GhSA/UI/UnitSettingsBox.cs b/GsaGH/UI/UnitSettingsBox.cs similarity index 100% rename from GhSA/UI/UnitSettingsBox.cs rename to GsaGH/UI/UnitSettingsBox.cs diff --git a/GhSA/UI/UnitSettingsBox.resx b/GsaGH/UI/UnitSettingsBox.resx similarity index 100% rename from GhSA/UI/UnitSettingsBox.resx rename to GsaGH/UI/UnitSettingsBox.resx diff --git a/GhSA/UI/WidthFix.cs b/GsaGH/UI/WidthFix.cs similarity index 100% rename from GhSA/UI/WidthFix.cs rename to GsaGH/UI/WidthFix.cs diff --git a/GhSA/lib/OasysUnits.dll b/GsaGH/lib/OasysUnits.dll similarity index 100% rename from GhSA/lib/OasysUnits.dll rename to GsaGH/lib/OasysUnits.dll diff --git a/GhSA/licenses/Newtonsoft b/GsaGH/licenses/Newtonsoft similarity index 100% rename from GhSA/licenses/Newtonsoft rename to GsaGH/licenses/Newtonsoft diff --git a/GhSA/licenses/README.md b/GsaGH/licenses/README.md similarity index 100% rename from GhSA/licenses/README.md rename to GsaGH/licenses/README.md diff --git a/GhSA/licenses/UnitsNet b/GsaGH/licenses/UnitsNet similarity index 100% rename from GhSA/licenses/UnitsNet rename to GsaGH/licenses/UnitsNet diff --git a/GhSA/packages.config b/GsaGH/packages.config similarity index 100% rename from GhSA/packages.config rename to GsaGH/packages.config diff --git a/GsaGHTests/GsaGHTests.csproj b/GsaGHTests/GsaGHTests.csproj index 8894eed9d..0d09d1efe 100644 --- a/GsaGHTests/GsaGHTests.csproj +++ b/GsaGHTests/GsaGHTests.csproj @@ -26,7 +26,7 @@ - + diff --git a/IntegrationTests/IntegrationTests.csproj b/IntegrationTests/IntegrationTests.csproj index 4676a7fb3..2fb573e98 100644 --- a/IntegrationTests/IntegrationTests.csproj +++ b/IntegrationTests/IntegrationTests.csproj @@ -26,7 +26,7 @@ - + diff --git a/UnitTestGhSA/ComponentsTest/0_Model/OpenTest.cs b/UnitTestGsaGH/ComponentsTest/0_Model/OpenTest.cs similarity index 100% rename from UnitTestGhSA/ComponentsTest/0_Model/OpenTest.cs rename to UnitTestGsaGH/ComponentsTest/0_Model/OpenTest.cs diff --git a/UnitTestGhSA/ComponentsTest/1_Properties/OffsetTests.cs b/UnitTestGsaGH/ComponentsTest/1_Properties/OffsetTests.cs similarity index 100% rename from UnitTestGhSA/ComponentsTest/1_Properties/OffsetTests.cs rename to UnitTestGsaGH/ComponentsTest/1_Properties/OffsetTests.cs diff --git a/UnitTestGhSA/ComponentsTest/ComponentTestHelper.cs b/UnitTestGsaGH/ComponentsTest/ComponentTestHelper.cs similarity index 100% rename from UnitTestGhSA/ComponentsTest/ComponentTestHelper.cs rename to UnitTestGsaGH/ComponentsTest/ComponentTestHelper.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/0_Model/ModelTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/0_Model/ModelTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/0_Model/ModelTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/0_Model/ModelTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/1_Properties/Bool6Tests.cs b/UnitTestGsaGH/ParamsIntegrationTests/1_Properties/Bool6Tests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/1_Properties/Bool6Tests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/1_Properties/Bool6Tests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/1_Properties/OffsetTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/1_Properties/OffsetTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/1_Properties/OffsetTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/1_Properties/OffsetTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/1_Properties/Prop2dTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/1_Properties/Prop2dTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/1_Properties/Prop2dTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/1_Properties/Prop2dTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/1_Properties/SectionTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/1_Properties/SectionTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/1_Properties/SectionTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/1_Properties/SectionTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Elem1dTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Elem1dTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Elem1dTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Elem1dTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Elem2dTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Elem2dTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Elem2dTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Elem2dTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Mem1dTests .cs b/UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Mem1dTests .cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Mem1dTests .cs rename to UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Mem1dTests .cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Mem2dTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Mem2dTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/2_Geometry/Mem2dTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/Mem2dTests.cs diff --git a/UnitTestGhSA/ParamsIntegrationTests/2_Geometry/NodeTests.cs b/UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/NodeTests.cs similarity index 100% rename from UnitTestGhSA/ParamsIntegrationTests/2_Geometry/NodeTests.cs rename to UnitTestGsaGH/ParamsIntegrationTests/2_Geometry/NodeTests.cs diff --git a/UnitTestGhSA/Properties/AssemblyInfo.cs b/UnitTestGsaGH/Properties/AssemblyInfo.cs similarity index 85% rename from UnitTestGhSA/Properties/AssemblyInfo.cs rename to UnitTestGsaGH/Properties/AssemblyInfo.cs index cf0d0acdd..a611c72ed 100644 --- a/UnitTestGhSA/Properties/AssemblyInfo.cs +++ b/UnitTestGsaGH/Properties/AssemblyInfo.cs @@ -2,11 +2,11 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("UnitTestGhSA")] +[assembly: AssemblyTitle("UnitTestGsaGH")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UnitTestGhSA")] +[assembly: AssemblyProduct("UnitTestGsaGH")] [assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/UnitTestGhSA/UnitTestGhSA.csproj b/UnitTestGsaGH/UnitTestGsaGH.csproj similarity index 97% rename from UnitTestGhSA/UnitTestGhSA.csproj rename to UnitTestGsaGH/UnitTestGsaGH.csproj index 5aa1935e2..9e6fb7a11 100644 --- a/UnitTestGhSA/UnitTestGhSA.csproj +++ b/UnitTestGsaGH/UnitTestGsaGH.csproj @@ -9,8 +9,8 @@ {CE4EB299-EA12-48B1-BB13-0C5B83FF0B52} Library Properties - UnitTestGhSA - UnitTestGhSA + UnitTestGsaGH + UnitTestGsaGH v4.8 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -59,7 +59,7 @@ ..\packages\NUnit.3.12.0\lib\net45\nunit.framework.dll - ..\GhSA\lib\OasysUnits.dll + ..\GsaGH\lib\OasysUnits.dll ..\packages\RhinoCommon.6.27.20176.5001\lib\net45\Rhino.UI.dll @@ -99,7 +99,7 @@ - + {362f5ed1-ba80-4f21-881d-6bd8784612e4} GsaGH diff --git a/UnitTestGhSA/UnitTestSetup.cs b/UnitTestGsaGH/UnitTestSetup.cs similarity index 93% rename from UnitTestGhSA/UnitTestSetup.cs rename to UnitTestGsaGH/UnitTestSetup.cs index edd23e398..b96fb510c 100644 --- a/UnitTestGhSA/UnitTestSetup.cs +++ b/UnitTestGsaGH/UnitTestSetup.cs @@ -20,29 +20,29 @@ public void RunBeforeAnyTests() // Executes once before any test run // load GsaAPI.dll and set process user-rights to GSA installation folder - UnitTestGhSA.InitiateGsa.LoadRefs(); + UnitTestGsaGH.InitiateGsa.LoadRefs(); // use GsaAPI once to open a model and force loading of sectlib.db3 SQL library - UnitTestGhSA.InitiateGsa.UseGsaAPI(); + UnitTestGsaGH.InitiateGsa.UseGsaAPI(); // set units used in the unit-test (kN-m). Avoids conflict with trying to read Rhino doc units - UnitTestGhSA.InitiateGsa.SetUnits(); + UnitTestGsaGH.InitiateGsa.SetUnits(); // add current project (for GSA.gha) to grasshopper folder: string rootfolder = AppDomain.CurrentDomain.BaseDirectory; - rootfolder = rootfolder.Split(new string[] { "UnitTestGhSA" }, StringSplitOptions.None)[0]; + rootfolder = rootfolder.Split(new string[] { "UnitTestGsaGH" }, StringSplitOptions.None)[0]; Grasshopper.Folders.CustomAssemblyFolders.Add(rootfolder); // setup Rhino7 (headless) and resolve assembly conflicts for RhinoCommon.dll and Grasshopper.dll - UnitTestGhSA.InitiateRhinoGH.LoadRhino7GH(); + UnitTestGsaGH.InitiateRhinoGH.LoadRhino7GH(); } [OneTimeTearDown] public void RunAfterAnyTests() { // Executes once after the test run. (Optional) - UnitTestGhSA.InitiateRhinoGH.ExitInProcess(); + UnitTestGsaGH.InitiateRhinoGH.ExitInProcess(); } } namespace ComponentsTest @@ -65,7 +65,7 @@ public void RunAfterAnyTests() } } } -namespace UnitTestGhSA +namespace UnitTestGsaGH { public class InitiateGsa { diff --git a/UnitTestGhSA/packages.config b/UnitTestGsaGH/packages.config similarity index 100% rename from UnitTestGhSA/packages.config rename to UnitTestGsaGH/packages.config

    PF`z9)T8l?uqt`TJj&dstH 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%0D`oLA9hlDFW{7` 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 diff --git a/UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.dll b/UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.dll deleted file mode 100644 index 7af125a246d180e71b9c4a20cca73cc44bfa8902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701992 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

    FBK!Kj;; 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 z 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 diff --git a/UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config b/UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config deleted file mode 100644 index f88cb9fa0..000000000 --- a/UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config +++ /dev/null @@ -1,21 +0,0 @@ - - - - -

    ;O}toEZGYyau5(eth}oMYLa^?dw|K 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�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%0Aa)Y?CN;?+lt2RM z1S2VFo}MZ~XLdnIkuZffjT8-}m8h#1K)DnuXO2>9Bu1mj)eoE|f5#s*O?s;ZOc$C^ zuw;FLv4{iC&n2a)pnVJn$UK6=fsw&ADaZ+mQW7x%kt0mbF2&jE@v%_fcvCJE)}pOa zAe17g90z+?(8wx>K^yOpM?st1IziBlWiSScF2f;Eg3XVB0svaZKmg37CJ_Ey=#!(L z5<)QeNp#7vPhO8SKKPM)mdZuHdel{le<+2@0kDq-?YwdX>>)n#5ZI%)P7L&*84QB5 z&u|n(!1-ZNLO}Z%h=bV#1tOu7g5*%BB@v8;h%h-AvU7jqBO!wVZUM?KRamS+SET^R znXerEEF5Usl|!G2^~mF%No<{<=fW`<@mPo9aK}OB$2!&>tzjV0WzZ1_aec(e@lCQG z3~n5ijBJBQ=#c^AFhYR?6JY%gLVL#`G^UXRh+UH^tW1esZdp1QZn_;~O1}Am-a)t~ zg>7BwoRalknRQC!a>{oQ$zzUn5ac`n_Av9n5w+`C2rh6{m8o%v2*R3rq79 zgK^MZ>yCy3ZsfEN%7j70P(eS_r+p?6x+?1+& zKo`)|RDlNxGBGS$$b#@fk8XW?eNO^=+pXT+-O&23<7>~MoNYv9H$JrwQe=tFiIf

  • PF`z9)T8l?uqt`TJj&dstH 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%0D`oLA9hlDFW{7` zCml3%LDm`DQkBpHA!YH19OARl9_0z)q|ZG_gfwRjbB4^5Lv^#C2V;?n0b_-&C#!)C zCf=aa$~rq60#Bwy)-fH*a4QN!={D-UNYsU7$wWQ>A+q)koxFLG9-jZS*;Us zh{CO^63L~V;+s~YBtV*DDYW%Ds$r%KmXNb^)tsykH%dYdQDyO@*Q5P6&0E6+mpJ0% zDaIzgVlM9 zC8!*V;?z(7RxdogZ0wd*ai!cqO_-cU^Bbz`)}8CwRvFoD+Wp|RDmp=bO)OshH50uM zgDe;NYhJ?k*DMt@IO#>RWmat2bJS|4TLc*5gDJc@#~Rm?*kjzNAbSiEO87hhWZu|w z_Izpf7~lM2njv1ycv=rNRk+VBy82AgxgCREmlGs`(&LE1VRn2A%ks#xRZ%o1nuTX}V|*Lj#vv2)i1L}>^(F&sN;)K& zL_kT4h5uZEE(KIMqpISp#!jJPUiIY2Tf@XYjRlcULjzI0!r>=M%+nev&{6s+Mo2+@ z1uXewnCK~S7<*zj`%D8^F(@5K@dSq_BbvuUOG)^VbmhmpNP(*2dHRC~8gLhX^Hgnu=`86|X0o!xX+Pc9ORt*%NyhI$+F_lx6ynLpU}M$$TK3ex7H)^YmA@ zFO?D%M~UQFVhbu>+G)(G>TKj@s3p!7(Hp-L?TU1)Ew&=;|k$vS2_Etwb&sI(7#mYmlbe{##;56E)g<`=1H5 zoDEC+ie;FybAC-DiJ7>Jy1Y5fD3tI@vh9$IoYoVa&33z$7F*aBx-}c9n3jAna^xva z!N}_XdMMr-S4F3l9-cbj&YF-z(ypn8Khl<0_&i2 z6p=ISVOiSr>3gS;+nb7>p;7BpXV3@k=jgTTI#@69%zuLz z)U}g&%RfPl7u?L#90qc&GRhmPWC_n=TJ5Cf*uskeDws!ywOqQ$W}874WLP<<6+L&l z!8V41(+$~aRIQd3)0!ov%|c+NV|huys7<{qB_)xH_C`P)L3!e@(KS_lJ3yVB@G$){ z_Eb|XVzR0|QG!ZZ%8eq2VUFH7H5mrBRJII zguRScl%^(j^_J40yQGJ%{vX6s*bkGe?8Sc@eEbQufgS}>I zPL9Lcixj4mwHE%k!)isGQc%H3Y z`XqD@XUy34Sg8bODACBgHi?IxndBg@of&h!x3kYqq2+xMXGR_A^wL%2S7n|S`E?ak z)1kU;z75s=)|`Z6s*vsJaoH~(pD(aLV4=VwfyDx{3q8&oB?uEMEsHMlB*RA1mooVd zfT58S_fj-dX{}ntt+tnlu(E}7_i>Z+Am4FPT_n{%w0`a2ygkL!%rx;vjvaN9_e1o| zlRQ`nG;z_Q^yGX*YqmV!_ptUJCmqX|ITTm+DzwANQ#89Ak!Qjh*-#&oA7KZ%9T9%c zz)T;!`UfLYQVwkBnPFiP9Ahq94Q&S{Id9Pnr|3h+(>f0YlH4W_A8Sp^et3(`d)?DU zmZ;QGDPdB@#E89mVJ{1*Rm()%K&3HJZK{PTKD*9Q8ZWd*8Q|LykQ?hFOuPdbN1sUS zm&pcUgIP4qC72F-JE@*HcW%OH=Ib;~Gm_{8v$1YUVj?T_UEQdSx|cnmO+IMiGkC;N zn@zIv}8=Iw3RC2%s=mvs8biRkpv*Dbj2#> zJ~11H#tpmQ$vi|y_|T;|uNqGCYd-qQP2Lkq@CY%3M@HgdK!DiMD+X&>-f0k%Ndw_T zgl0H0wQ7IyZ+9^*=!s2YNk*s75G{XewKA&JMwDhH9D((}exC9&mUy!4-^?7}7@uY* zQ>7bR>-*|L6NuK@!iZ|5w<%6BxhWBL8vR5e7B)LR&N%?cxuAFkMQsDFKk-d>q&SkJqLpeyo_cpp$Z*wD+ z)Zfqp3o3kN9L2B9>5M-M%fE4WCI@P$U$3xx6-Z}--lqQOVdiu_V@gY$Y8E-8E#vo1 zwYS-MZNG)RidRjibp>DwcA`V6rl`YCR0>h&Lp@2SQ30Z=gGwAfI@_{5D>vQ?Cz-IJ z8IZPX=Hs-(oX`ONAB@9++T>Ge&G+->KJd}owIq#lPv3UY1$ z`xSnU~LlimJ0D z73m7rk7z0_UEuhd_M=Y61d5ov`sIC?8K_GZxxUZZu<0N4O(6ZRe`~tAP17D&B?G_* zlO9rLY_QVbP;N#YPZLW=_6K~VYorIKbkeCUCQ$4NK1=opA1`Fn4u6P7q0bNkTjFH7 zkuHdCI!fmJr0S<~jT3lr5v*G!77WIS1I*f?CF505tbGShC2rXxg-N5LmzOn^N`W?! z#r%bRF=mpymqLALBfe(Dt}-<_*y2#Hm0voCQQCQww9%}ME%hJ@m*h2$8?VXIbrJI^ zk{92z@glV*m0PPW6jf8mR1-jm7tmJ=880W%yj^T~pocNQ>)BE7cAiwbT^t`G3^7)zWD;G9y1N~t{Pg>h9$nl+7?@oV&; zCOg$^Z0oxuE%Y&0QQS(l#hc>mk~u!yU^YSNd=^!zFLqfKsk*N@5noYG!^=2{`$xjd zpi+VKLftjeIDa7wZH>jj-g>f|OhQU1tYnLoK(MK4n(gJ*XIMT>P4%i+;$1k;@upPo ziq`rT*9-+lw?D$i@a(W2@!a+oFFiX>z~#46x(G!XjCJqv0Y8>-W*U7Uo30Zud=crs`Yj802I+dyI*&8jc3AFy3F9 zZpPwPm<-<;{27ed0{O_OEbX^jcuW3l9wantgjtyrXavI(CJyaK&Uec#8^h&zLEH4t z88%6*>nqEFY4x5aEpuzF#cLP87ZH{+USAA`7*qZIB^}-b#7ZbmERoOvXY8vZtm51t z*Z+vsceEn&8aa|h9&Z_ldATJsn?q|Dt?z1j)kij|g}ttKNFtzkN>7?#hQe@FOZyBp z*prZRyeJF2YRMdys0(S6#4=0-V!|oDLB&W2Cd;?h1LHyq5s&GOj_e1h;$|RQ-b0B*t|j_uZ?i3jQQG!6S)=-46_dd_>Bo}!>w;9m*q&Bc zn3<>W>Fe?%y~5V9+CPNVF4@g{R*@mWXGkw$s)^Pj+N5IiK$yk7)9k=ip93`-%Vv)% z4LT?yLzlE)Xz-DK&Y3x{4z>BjEuch!H%6_u*5YTq>{|D3C)oG_9-?D z<#-9lOvK2PxMsxPhGpdo31CXLOR|ie5Mq)qYZEgSs`QO)LGc4ZyQR{Z!KBAY+#qzc z0)oRHZQi`hjgrL?;c%&xXclxMbmHh%2Wm^KBB8K;Xm{5}SC5x@r#bMYZeWH!FY^mhWh`xdl@iAbRC)|MRdy?rHABJ~7dOGA&LdZ7hp1K)#Y#v3C8d~J7Ipb`snYRd zqUMWY=t?{e5aNc;%>LJmrqM9QwNt^os?o9twks7U=LL>r-$-k95!`9XbAW6%$r|~M|Nu? zVU-lfMr*r7=|quJscRUYp|AsD@e=oz#1HZJn^?Wim{BaJap)NV64}+T+*UCUaKa zX40mVF>0OgdBetO$Ion!7FSZ6kIi%8*g=>UqrXMnL36h$q>^bQ$dT>NrGtG~yA%13JGf{<4!mUXs-Epiv>Q=LO_#D&Nvv@{X zoy9NCu9W4q6VaV{HbdG*nRq2HFw@pbGNQSrP5BUgQf<^ZjHv{Tem%=c%Bt3H*xynsU``{ zRZ7OqB4fmLZC(f27Z%BC_FPqKf0nzA;CisXWH9K1xDhvC?+BdnUAhJEJQA1~s*51lZ z+;=8<&{J)RidW=64+Z z)9e&lWRPlM1ysa(X1b#lSNy-_(D~?XwgL7<)%$wh&S{Z4+}QTgf=u4~DJv z!#X@{p;-qro14;M$>_VD`e+9W9?{IK+%_p}T`}qdXeFF_PF_+AXBG4QX!80#;U#Vl zZQ7%Uq*#t2#ZIgW;>dvqs*C9|<{z)NWCtbbqrPiBbJxt%s>??1_YADsg2|a2;9v4+{ zU{ENnS@9HJ`&^@*ChW^qk@19y7D?)|^@yG^!Y@%@64WXwq9Q^TNx|DMb8!0F6CWdm z8i*DF>Po2Ocm~Z><{rE0Aqp-Pl8mmYCJsc2U%V8GUDFa!-^dS(5n6;YiK&MT*>Bzopr&x>EfoX2m_odQ9vi3HoCVK`GE# zLXRWI!D3B7ik&i*`9s14=2>S z*`AkDS#{v2IEj-r?U%u)!uhj4ZP`l&vC0oUI94MySAm`A*cN^dODM*|9(*)8>4EVC zqpZZxu#^+3s|HBwu462lX6ORRlgwV;MJFC*R@8|HZ5N9!N+I1!S3`B#?yJ?^s6S99 zcKEUK2+q?iSb4D>bR>Slmw@M81)^w7qgFneKd%m6lUd^pwvfotZ@-wkSbKo5~KJx?PW#NbVtlo2Dd#wHbx6lx4dTwZIi5%u{ zjl;8S-f5HYGBVvDt)~a36Vc+~+CBP41n*4sZ%uqC&&uudg~J?<$lA*7^LAz-c8c`rjh!NWXoz~tcCh`KhS=@>wfCii zBw49Y{yc;}$Tu;1h#rVYhFi@X$HgkiV4jr>6-t!~7cr9|Ei!wYk?+i;lfEFl9K8$Vjg`pSyk=HI;q zV-t6;d+*3;zRcp|>_1tu-r;=^G!#N5t@loF{Ij*shXnH-EkLi&LhIinLtCP4kL3EojB4vd*2Bkhyu+8p+ayESKF zutSI-iFzD`Yt&50%qAw6L>Ic2eR0CVi z!o%8|jPp76oq*(1k}bfIL;pgooTs5wyneb;z6CU@Iyuw#$_lp?>+5?hz41vbay~?F zjVleSsIMB{N9Q(x>V#UhHMMZaF{I8!f;m^-PgqxNt!c=6zeekGxUz(suYH2%NIcIN z{;7Im6n)d{6`Y(y=Z$_ zBJM2lcFJ*R6e<6O9(iuiOXY%Q-2;*nPDo7M7m9*fP7*7A&3@7?X~}spRTQGj91JrbcAPElGkR>Ei2;4za=DG2=J2+z;nyJJS9m(m7oai5AeRm=-Hr6B7 zR)1L6_7g;3Y|_NCp0R$hjn|i2^5SL1%La3e*!oFsZAmVmOw&m$P-sH0pP83xENM>K zB^69fc%?8du<&OvXA3wZP<%~MN5VQ4~Hwt)} zpI}JBh|l^?)OisPHW|h4;LmnXxjjsh=Q9{-t|A`d+-b5@!k)Z+Y&5>`eu-LxW>4fV zgz{N6*acJZ~6+bEad)`c37YH3|ia(`2(Ial)j%AySQytZ$){_4quMgx6mv zIw797NSi0w_X{iFXiZ>uc<`RIyk{)e<%Z4@_kwgD{qz=>S0nDJZT~`^pEtw4E%iyE zcZOOQxA><#BZrTfw3Z1g>6WgZbYpp!d%z@E!lovnl1`R;@jEbf?}*+BnP5&}UaDdm zU^GkYy5>lqkA)*cs@k(>7?ltKsM4vrM-QwS450J>7OsA0y?*mNerngp) zZ3wXBmy=4a?9C7Qk}Fz(tw4iP>ZdZhA_hSv#ywR$gz%!XoA)`fOC*e?I+a>N*kN>C zt9eg3CcKYTpp+%$y0rqAKuay~r~u70dz@d8rD74OHSI z9)lSWj+Q#jvWiXcEU~x_`@FSmFnQ29FwICmGq5Exqdh`2(%Pe+CAmj$OF3%RM2a(b zmeLG1^$;%)?1WpWK)pdGajaH$Alkzc-TFW>YLa7*O>!)G-#;SJt?`>^v+|T#J$;+E z?Ixw-&F1H$g#|-mFDVsuPyRmojP9JM>OK0U3KNfn5Y;Lo45q-PH?*@Xopx>zvypZr zJv^4VX|{bZO-pQhJD84TPfEgz0GC?_5NmB59XoPB%X=l4;+uw&u8JN&k`b-*hqkxo zM}&6lim5W&QWJU_g=^I0dyK)=u+1s&SC>x@crU-g91VvrBx(AejahxH2_Mf8?-XMU zhE-)EM2aCH(1`SOg@v(arWmO-Q_0(z*$;B8dM$6+S$!(b>D&&M6U_q1PQ<`2e@Ma}nx8_nKy!V$p zXw&##KOyLv#a2*ue%=@oQq+9=qGF=*w7F;VuoyEfW)@*4-@*s&#;@TbXEHVK=bI?$ zld!)fACq8PXy1qy#yiX>YFG1%oaVbhw(e+b^9(NYOLqVZk>**rWY@4zNsfe}mxK-@ z0TNEgWJA(&saBh{f#kzBvOkct*kb|=TU)^!CD*6~$ldsK*k6b@f<`Wc=+p)_ha@N%&?M?duNhR!R+7Z$$ z2^A@LZ9!+_>wF=0Rs9&O???JM3`txG&kW5Z!a`U{w}ef)eUwnUUM{DLf=rWJskIEA zmT1(DT@vMeg3J8kmbQ4Y+x$0GLUWsc>^A?<3CuUR%y0INVIgPtvv}=2#$vQ{Eo|=w zUn~fpBU^g=48`m4$fE8ec>B7K6{YTdW4ER17mVIFxXjNR;!)4NcYH!Twans) z0XW;>Lon+I<2N~akf}N};-S#nj61rRqeCZ`eI%1=2ywYCZiZZwT^vSt8N-GbXzcxL zKn9s%M~vIHaRU{FgbrPXyx6{tbQgKEKJFQQ%PI5$#D21|6D`};gtF(P%_rAac)}Va zG=LOQRu)vg)CDyyb5y(+AZHat=}`$!X?$7w2ZnHj^7s;Hn7Cx2T!~Vp$|Rd;p+u?j zOh#ulq^YBokd8;%PZch|`qqBY&WmIC()+Somy614rLDRCDXzdA!7hcNo&`A9jLV3C z*j%IW{i_AC6=2quRGuPzFnXqP(k_V+z9Hm=N^ckj5aP|vA>^VNQO46;8BU&Z z1~1vt47A_U3{Kf>lx*RiO3a{f#54j z!H6gYfg#F)GFD*WSzWdKdfM*N;DTTC^0#h`+NXE>YtnfqC*{PGlvVSjALVWL3CYar z86_%pZ+0u+#!*dLt3*y~S6{uMN-azqGZj*6I~7bhsW71xQo#Z<6;c~06-+r2W@fWV zxS3p^Ub+>1l4)i-q&09lpz+e-Ler;125vfR)GgA1BX&A;)MwJ6BesQZ>qHi|jhPCW z>Iz&y)Yj`P?5v$A^e}tI^9FgIRN9_DYcf$7SuXgIE>oP2_0Sn3hW4x%R{o7Wtq)#%u*>75X zr6DHFbR*5?N#U-E4F2K~yTorWqye^oc$zVPn@dJ~v;NgO6Ws%9sP zzlNp}y*nl)kcExx21}Y!zIJz5%6hwo-`w!8Fh)#?N%{1>#)zpEq#sW3mNp4Bm}JBu z1b+2#?lY@YU&ItdcospMx(LBHY9@XDMV2xq}P!rW==X}v^N@~MPA%?H)W z@wD)}lTpPp#aJV6%+hMLa6hKwP9!z}xno!&Th8<_eslv}qR?#~5<^*`l=8R~L(`0| z!{qLg0eO-Hqw3r4IG**{snnYGwTp(fiGPVyuS0ge-uPT;L+=hBLDFz|hEqpPT^LW$ z%VZ&so}isA+5+Oph45_Gu&HUMM9x6qzIETBrw+JLk&gO!mzWEW?1=L6=CMmJyZ;BIAoHQ0ssfuoIJ&nNf8UBh#w6#RDS?>z5b zAivSsZrf}0I|AO}HxbO`ZPVrmtwVycCyZaT%@A?IEmu12?i7j=IWMd8Kmv?(~GcFzs}I%cO|3 zxO7+*jgdnH$bcm-heFgd=@x&ho!}e0#E(uLRh1X_ah7}lYou6;wYy2fB#kAIq-AW$ z7M=MdNRI!?We!m}l6j7Em`K@2pz~LT?F8bWd}EBS!sxwht*%8*PGj%`@&=Os3=0lM zpE&p#q|q6zE9=~W$bnjaLuvBfQZF5&mp-J>_FWnOk{t=j_e>-~`E9>_G>mLSp1m^> zECmsxMT*09Gr%joQ@)6!)D}6#p_EM8epcTi;+- z%258O)risrpQL0__{h<;<16YRFxtS7X5xPcr@z(3-+KhZ-(h5Y36Wx`IYqhJMeWlS zLi)`KA@yTHLWBFt3m=*Mu#WrqSF)SCb8>?M7W(I+hytj)D&hYZ1r5QhCjeN~YJcHsD zH$)t$=WNGTx_zQk&l%}Cp>Q%V97AHqo^KFfkCQJk$#YHj+B!rWp(&Uo~P3){_kg6g#*)nd1Ppr$~1A2Y*=`?$f&3|#M$)e7G z;ye1{H{UIj8)e-j-%Si3e&pKJ=CcU5-mo9+{;_Dk@n01gHw3&1QCYgBN{L7y9wPhJ6t*ypcTZxW7g+BbGvb zwxTv_8rGb?7wnXS&d6{rnBBReUz2lkSB<>g<3A?nI4WD#FKX}@Ro3z4n_Pf=4U}(k z0Sg2c3M>*>EO4^G5=u0_RTSg+oZy6L3(aVoaXWWV@~7VuHNC4jwWVn*u~AyPef6c6 z^E8=?n|z0~JVwVt+-lX0>E}UAThL4S?P`52y5W|6jOSBUVnS_?PDfe|tE#J{q)Y1I zrh0N;kryq@xFDup>W(pB>V}E=s(w(AmmOp^?2p50zT`$88d6UCMQ>|Nn^NLrUYL}v z1h3+Vu&A-5a9ReL@Z0X1r%J=^ebHuce77>=Rg8G zw)9e$dZWrWBy|(k`k-}5y;_!m9qt3Sj;I$Zxw6}$pHmziW{mrrx@u?_vD@SXL$g_t zZz7Q&HjF2k^|%gvjF-e4@tfFe4Th?eFlE^cs!8><_;lPP7ohFrYsI$ewog=|0aC5w zT%#0jik0f|Z#SR}ikcI9`Sp6@Dr)WdQERFzBq>WAJuN#K9ek8wpd(6Jerz(nyGbLe zP*6(SQ}$xirJ~FRb1>W~UvFOv7p(`I7Ya@#7$3ABiV$;UJ$U5!+!o6Z(UdiT7V{;u zl!#+2ANne?-9jZJA?ArFZ^fE`fQ`ss-cVC>xZq+zaarnIq^A+Y(+(6Kd6C z4I17=iqi2j=u8h;vhLAysM<;ughHyu4efW*ppGW^5(st(UQ{|7aC+^2m0n9ml$pr6LPM z5k7jPh0^ftRbC%){?sRPyw`_@>RuZ{=@4~W?q_dpbIa5swYesuRo>Auyh_Ta) zwi#zR7({uIs|}@Yc&KiP_pom~0tew#1J6lDXCR zYO1?I-^R`e9rWRL|!Q0cd1Ib zSE;tMYBy#tpX;`>)0$(xjru~8U94%$mH?kreIW@f37PQA{sB>E^sPiGT=|71vPBb_ zH3c^AUr07aLpJ=W3pu4K8Q@633yHo}qqoKFn)|{ccXgRL)+Sk2V)_YrF~KU`)0~Ve z#fi&nl6EJ&Sm}*oFwil~_Nb!;#>OdqjfZbF_B5s^TXnx$2}$_w%M6s5imXegcywMb zXhe&_Wx{`qXN&oWu_OAyV5PF%E)-M}%aVPL&=QQtAd_7GR*MreS2F9!=h|(MwMI5_ z0i3wGm!`(4iY<28fjn`j-r_}^%1FJ&`^(QGqUN34CZXod8%09#syFkhOrk2*^mzyd>o8zud?D>W&uJ6H5?XJx;W7H{Es^^6Rw(6Y+WObeCTn=zS*||O8IF&F zNox(ZrsYH3HYsXWOoUMF(XCKk8cuAH@AWNGArnEnW~8B zq*Xa?fS}qq1YHx`XH;`Br6+RiGq0TUJ21wWK`c2lvElZ{rM30HSyd-6k+Vrg$v=Ou1ra~p`SCY}l&y*;wwKm?2 z81|`do~FY9Wye0e)ZT-lTcqQBNjBS(V*n*z#PVOJh)S4r`<_oP+gcr)GTm;DUpFK# zG1EOXKjHae*^j0gi9~ggw}_#allf9ughXCt#uKxcb-gg3iff)*HbzZS5OT&K#gxzr zbGLZ3ap$3<2bFCHU!k=&;!z7T0`;OZEuTN^cgvPlmoKDx7P@6Enn!7x+ALh^LQ`D6czAeMqdeI~qc5Kr=4}kL z>+$KXB_R*bSEqlW*rCX_X0J3j;>^8R@qA!;R>A0lCOG~aZ(J_FCm?n$>0n)a%lCyT z0$ro*u4~5Feimru()*1;iD9wF=ixKH2@wQ7Wo+ah> zW#y7Zb7fgM*qspYrpu1em9|w!Vii(^NKK}4l~Gf?lI+fKD+k=lGgx$DXlYh(`m+{^ z)FkcoJ%e4c^nthHAJeC;hqV>Tq14*KNQ~+0^(pf#h2?ziRDTyHW((AViSir z!i#+Oo6wZEX=u04Rzg(VI5FKmJ9+Xr&msH)$y|`FPVvK#tH$4P331@0ausaDM`6rzY!X0*&K2LH# zONc|_)Hjjin%0cu#1#feWedN3_M1CX>gnKf-1%;$1-yB8vd3$cgTd+S=CvcaZ)7IbH^)5X%3~E<0R|}&K)$fcBB@iW~3z= z)J0WtdEicRGKW0Par50`eiueO;V*zYkN@tVouGwVNT|iQ7Ato_6nidVyWA4z4jp#e zsR?e9BH z_Nn!=idYrb=kpcwS8BM3U$9ztxl?Fa*Krd0K1bTM;~f6@J)}%txD|=E-9pT1w~-XB zy{$E;;8tR8X}gw`(a?D&d?|^IxKrWu(9<|)07^;V93V9|rS&5t#~m?%OP*7ujO+2^ zJ8P8Y|7q{+VC8xj}hkVeUq+SKfn+!gO9W{G}p#kAFxQ11=#)=*YK zZBkbnn6MmQJot)E6?sLe8X9hH9oH!t?~Tic#5ZE4YV|H$Qf^XO`jrZkB3-TqQwn7&Yo758t^)5M= zZ|{JvB^kMc7Hi1pB#guO%Ra3IJ;w|_jVVbfrKFV+P_TmFi_l-;j z2f-jYN`2jLBiB3LR0oM z{UBZ7Rkx!y)t_!U!&vD}@(aJ$>r6;txRu;$iFz}cY`pT-aOp0k_1{DuX9T7cU77e) z^EaX7a&g%il9COi2;!BjbxGN2LC$x$dGbyilCw0D$ z&+Xpbz|K08$x$2=<{P~o=mvD#t$%&lmwxHz?;QR0Gbp6;{8iP~Q<+L-$zLw_#PLsO%jGh8xA{R2 zMZ@C`)78!iAN0$;77Gf?8YH3T3f1;W%9hJ3lBlP%)%IYyyfO(tS14E8Bh~iWb2E(< zRX=qZVGhG56aYi(Oxdc8!xU9k3q6%to;BLPENjsk0@mde^_)ZDkK(Q>&jso|Mi zwLL+V7ZUNH2ztI;4fhuLsfJDBS0z+GUtWq_R$X+oT&^a$p3TQRQU%u9XL7IvvO6M* z)#y~Y4DYY@gXpB|zQk>hTQ?@X+Fr~QO4&lSlw%d<<$QsRKvqDJxx7F@peRrhC<}B6 zbPMzd^a@l2RtWS7R0RToeu0$&s{}3(xKLm~;39$72wW^MC@>_jTHv(;HGxY6UMFy= zz_7q&0;mr!cewyc+{>{T@p32}FL$NDT7h)}3{-9~Ec`gaVO3Ti{-S`viVW z;DZ8(1wJJ3;{rb+a75t40zWD6Qvyc?J|gfh1wJZpzre=?ep=vX1da(jAn>mQ{S1b$KAgutf+eo5e$1x^b5iomZ5{F=a`z^4WN zt-!AfoD%qqz-I-1L*QY7&k6jdz;6kh7Wllt7X*G=;1Pk}5%^t!-xGLL;P(aoK;Vl4 zj|u#tz`qmt_X1}G{z%|U0*?zkA@IineApwAln(Ck6DuNSV4^On)sK`&I?-_Dcqg*m_URrw#E0U9vzB?Sx=r%W5Ys%n6SO ztOc|ix1c)8XOb%36e;8AYDd=66J%QQqWftu{}g~ zxy(_$lwspZQ`P{VK|VD;!Zt{KgRj}VUwqICF)uux}SoA14g>ZTxfRCPQ6nu<*@GC*(kiT)y!VJZO(w0WWAs?$C6|UF*qG zT<1vQsf(}$%QBuT4E1~9>G!PvO8r<@{vhfaJ`cKKtyO?(GMF()HuV}s$>|ve@*4)C zz)(`pWd;jm3TDs~-m2;j5Qyq^)&?ym@@oL4+#2e04CrUhuuT14qEQI0@my`vIEHXU zLw+ZpU3@0_>;^ApD`2OHt9fMRh^>IT>vH70XqeD2}}y?X3DB$J*KR} z5V;G%8ju8QjLmDv5Uj}*3UOa8BwewPuysMim4f{)L-kOc0gvl|>LGD;Z~%oC>?;Mg z!X3%|J~)}F&NCm1S))PgUehJ5mPTglaL_(d=}LUTft=?Bcjf8pgB2vGbtF%?btLEc z6$>A;uyjVIuR7m1ls6>zr%2=r4yf-cs2fR`1|kYJWEn*}DImc-k}nJe;W5}z>Ov&j z&!LWAEP)FdJK|>2l49z{0sa6 z|04flf6yQDSNpH^YyKtvsDG7zwLjs%-G3*ztM^cYR}FLGDUPVYDaS4|Exd0%$scl2 z)_4hX$e^$Eey`uhpDDv1`TH}3vfWHRF4UhToa?RS({R7a=2z4T9Wnh(8T|!5MLwlf zweqsGe&YK}Rl3U-tCdRZbiusXnWG?XMuueFv6Tws-I@oIPv~!ZdAy6)|%2rTm#Uhbx4_I2Us5C<53<#wE zM@#awj^i=<+Kp;^v`g(YAEi)H(S({mXjL=TQ69ko0@d~jnYk5Q%_fl7UIYn{Kc&F< zGs-|x3CeIP7Hwf_Sj0oRiV8t13|jZWW9a!1s;IA0>|<;Xt@gU)sxQo|82(Tnlsu5v zaFuFgoDMP!Q4&E9NhLuvi=?=HRN#Jr2TfC9%~spT0O6pt;tK*N0AWeKC*;$-1}AIq z6J-Z}Aa;x#VtrGV%2yKs?fa27s)4iA*;nk-;-kXsqqeQ3?KJKaWef&_H7Vr`Bf+aN zCJNmp&l^Q@i2z%J*=e4Mq$g7-cGuJkQlHjJ5cMJz;hH3_i+KT>L>?WjZl`Vn&UO#$ z(nEdh7}YEE*iatMXMm=ai40mNp`04Ug}MfEbXEumF#l$qTXqp7X^cl_m53)C#6#nR z9H)dMZfRDowm!_nuK8OYo0ZMC0!%J0&cYmL2_gcSlKpWcv3(+uR*g=VV@rfEnl?IZ z1dl0iI3{k*$M%oqC+PS+ufpwz)%)x+qJAqCu`HbLLG>p7jMcknxaNhu{jft;4Ka4j zXu{_>I$nwiSxO6{!zpoxQ?d`Gafd|Sp_sh(k%Z2}iHE73MjUbkA4(9kkMyXAcay@P zI=U1H+V?U}NU3Oi;RNkg(ISEaEJao108usychgwWO`gLgT%{bgcBbT^&gk?egIZ#U z^yR#k4~b#Z%LW5@_HgJc)7aIeIZ0ab0sj69-sq`JBW zGvJgBpLR>JVXHG^&9qMYNS7BcliQ0f#yR1bg~Cba>~d+0l%Q>+bO$4JrIC-8*D%1e zVOYp6ko}@LuuOzVSrY1SK{}z5_Vs+?3+H-k@pf}`w1O_DWb0$HLxT1xsz$M#Bu;vj zCA&>YreXX0GTEWkMBJQ_LPR;P_Ei=oY?Vt36K2?!dumxZ(8ZsS$S^3dF|nweq1Nuu zjR*Z~5r!e0C*G)BrA(G`6kLu5Q}^l{&_0<&wuiyltw=}bFomcF2i;R*nj#dAr@04~ z=N?ECn#&WKVsCqtImvoh#i-Q$%89?y=fedzM-Vgykfee^oBRV1BG#leGzh%5j?w6t z0()FxY=WmVM*V6}%n#ZtJKEDQkz;Cf%2L}y#sa2Dt7#_@)C4QXlA0n-@^pYY0$&g< z4%C>;ZkAOdrAz&`+d*)pr@fkvlqX3ybkWHK9c+(cacCrQ(J`u3{o!`7Pymjb7_noc zQ1oCKy5$7XF-3%<7=>t>QL-a(>iSXUk@2*%N69sasl&`s!3wWs2ARr*i=4aCYGv^B z(%DdH-5nh+(!pvJIjQ!r6^I@YX=cqh1d}NO8ClB^xPcrUikX^f#%RviD}l6eaoS}F znKEeCNzE0huf$wT6UR!#$i?_lnUGxxg2?(AN8JRDnk53D)d?)S8Z-xGF}{*6E1Gdu zjqXic>}T!ajgcpft9mvdI${zWJ5>XyRDEPhGI|t$HF`m?{g^ab`!p609mX;XJ)J16 zs4nH-vV~aCQlFs{7MapYHqEo1?)NSv#6XTusg``unA-Cei)p~3z^xC`MZr>O9bCE6 z@};FYz_M7}rMxBtoka!rd0e!yhWOPo*9f zI3;je;8B4`1Qr3|NdfaIOQ_7D@`cJ0Ds#xXFbK~GJSp&uz_S9+2|O?GRX`+79RD- zC?9r&Al!HciyrMb6CAYs;V$P)CM_9VM*nEV2F++fX~KgC-6(mGcy*peu=Al+OuX4@ zVib)KWVz|IzwLgba(0rNB%@l}2bQm0OA46gq+~dnB$?J$3<`))Hkl>8kL|pE>?*z(Q`y-@-yC{AR=w0pelCalb#U| zZRU#RUD0{X2>DnIC`X>b?~)eCSYgTNLXXN}xSP{{478YPXoLmK(qNxFZ0i(h5C+^n ztF-k%we_=VnXEvvserPzTj0Qt{h%lrfCWa+nC({&X)h<*?&{pm2D&S>Dp(~euw_!! z`bg2U`B58I6_zBd$`&eSX|-j`GW|3%8%R@S7 zvcN*K(pSRqaj+{hS&W@bmW3PolEvC;ZRHJ>XzCEzOAHN|s&QwwnS4aYe$8-`S~FGp z_~j%-StBjZgK*yR%y;C6HN-ElG&0jKn(R|gLXXR1Bn4Al9>W|oQyDFM@v?Genh+J4 z+&{8gpk-k+i3uF-j&1aCjGiUEQi>P1;h6Te*o8WX)SwcC?_f1zP#T5usT{YN>rC?v$APc4Gvl_F9fYm(xsW;F6g%YZr6g=r^sY0;!okPfS(y&s8j)Xp?_?M z@hrTpha@CPdQxfYS4?!!Ac(UKr*Izb#Z}5iSKAj^UP}t2Ls;%>5Z3et4Ozc7L=VL4Uw^m_)T*oQZjv9xuabSjEe% z@M8I6FvT*5&-F&?aq}pMO=Ov{Vv&t(*+D$|`$&l)iFYV30VXP0MlOh?mZ*0FyP}Y? zw31qs=%gDB!M3Pd2)f)do`f04Fe`(@3<8Np>(dzq)ox=&xLb7{g}eWX~Zp=wY6<&AjjcGWRX3vvwWY~82fL*; zT$*aDB1@8ay-GG^X)`yn=g6}z3zM`g6M?vorD)IpIC2f*umg4%|KXt*b9Q~ zd4r1nU%S2mhnm%Z!}+cZR<0%ogM{4duL2xbj&DR z>rkz=z=#WsSipuAg{*RCxwLmC4T+A$b+1htverhdj*(SHyx5sEO@oySa6%MK816Aw zk!`3Er7~m6GnRSg@nl#;6LA$|RH4L)j91Js*?Rd*9ro1K8n@%7^%Pcwa1*5fj!F}U z8RB-?R1JP%n#{cPx0bgV_rCVzh<0cunH1tdPCu4nDkhVLYN~E)ifQi`1&bz7bUafl z2PTR?q@H@(P?|MHjB1OXHp(o8lQ0W#ET+aE5^d4bs6RGb0i2V8=Y*j+>Zm$uffFte zJNI*jrffoS)S&a<4*{+FRA;h)Q)d(9>b%dYIA-uZWj(Bhn7U`~2%^2oG_a6JbF$qT z&Lz?V1K1-nnrw|&Z992-&=F{sdF!xh4R;GhdlS)VFUml}{KIgoNF`LvZmMMo$_GDz zT#PW?Ur~@feYbnXZV;M5t6uZDURp%4$}T~}Ych(so`3;ms`Vhs1Z2TMO-aHh3kUV! zJaMF1Fp4x!9BEUeBF(c@Jf0?M!r*XHDmoSy$IlL)>fT=JuV*sa8e@y)`Rr==aAdWA zK|PaQ?f0Dia8?Ui1*>ydnO)=KrhcUR6qi7C_$`!!E?lPb4!B)7mcz~-fpR2Y$ zUv2%4$%8t%%F%;l>aZZa0i-vQIe#JXwdWIGIG6a)nu!H7mtzw5a{ThwXM48o%EBL@rUAhoeykN!^*Efw3?!arDj&nCZy@zyNTS)`5XxQK>UijxggEw` zVlvwUsju0w=GWePJW!9wBw@>4oRt0IY-kA{tUDuW+GiNYWltR^pL&3M1Laa0ffdP? zVgXCi98NfJ>4#Q`t1gnK+hcF#fDTPs_i0HH9H0>W#@x}m&yqEZklt6aCBlK=0HtYN zuuq4!tj=T-*_nH=&mF<{d%-@a;d~c+m6LhGb~I1!eWhBapBoST+K27WSU#4R|GjnG z8>TB-o~K)c1q?BT`9kIf^$tha-oaH5-2Ep{yy++3_mvN{@7_V<3IviFhJjkiC({mox^<3If2!7n{;CH6KYQsbV?RCriGMiz_`QETv9I*e z)|%@+|EKT0=8s+q9{T*kvw!E!JaNH)62qVI^I6W%yS%*aVCWh~t_W9&EAlDlimdzb zYY8c{1z{0!KNhY<)ujzU}t<7U|X`676L+}+Es zDB5a07}13yZs=ukgJPLG9+QJ{6gPM#X)o7`0HYTb%TR?0;Yt{VuBaPB_1}R|F1JUDesy=L==RU+kVat$<653l))wF}T!3(3 zS22f-a*q5}@wgO>uPVYzM-w-ilIwEiV!l)wDp6Brs8lVM;?@kAr#jg~A&a8XHmbN) z*Hg@MHcAzsFRd)*+$HbUal_p@PQp;Jms3Y-$>&RKW?)oruTB#0{?xyDK)$pB>{X6K zmA;ll5n7#O!~|1WgUm1Z2Wd+%<@k}benfp;FUP!S9q;M$QO|waDOl}E1Y{Iy&XIya zr`f-W_h2s6BB}jecb}gt+0FuT+C@ZB!`lfhSA~#VeI>ze5lMGc!|P->9;9P*cZ@q= zVAmxwnB9~vdJ)}0`D%DGH2XtY7>i_t9Aj8@%at5qmOy<}5)4n#Cj9)AFuVw~1Bkf6Op7Wr zGUMASMt`}2Qo=yVa!?_if>hvk6}e4ZD${+X3yL}g&#@274(-y->-&Js3EIU$K% zz5DfYjRP*{EY)m*q-GZ|_C2C)EqCBWZW%!8AF`kO+$->7Nr7o1t*I>8B|d_5k?t) zNIEeH??WRo)ba3FV(Bj%{bLMr_6i2IMF|zQBTXB0`=*@i=W5~J)m052VBDcB;<+48 z0ZoKsWUlSfEXe&AK2m*L9Pg>lSLd+}^nE49G^(oTXAB1e)ykr0G=#AXICeB#AkTN% zpjLL_13|egWeZMj;W3G!6sW~xP@ZLgzNnA3J1W83yV1zua1cJk`9JEd8h)|>$x?!x z?u4HrOe2B#HBEI`?S1&>0m?$a>oVNx2jY5X3jLw3mB~RtMQxBAtz|%cwrCz^K-7Q`hc$SKKyHwvhY&*89(+_D)M|0HHBk|BNzj88kEGZFsb~=OTWEwg|=ujFuOeoeU z?FJXL93vVG6LuT7$NXp}+1pJLnsMwv8aqJjfSA)dA@W*hVG&UMNi(X&0@fB=>S|?P zK8GM&z<7%pUt)Lds7_`0!z?8~OFlkw<2>_SHo+;Mgr=mg<6(-1bFVLUI}4B<0DW^$ z->@J$2=^});P|qaGD{I%#XR(^)hemTs!fs)KHI*mVB???XwxY^i#A*>xQHb!$`;E4 z))6OVpU5a~FG!8Rz#$nX7Eoa{1USoP_ap0F_(_kirmzIJ)z=IL8UvEcD((-%kTs;O z3+1&dD%@5vRJ7o!4EGhyEkLsiYc6oU@@p|aJF}K`WGyO^qUa(W`}Gysr5+FLItz7a zK9OFUmsP;nQkRW$c@6nHimyOB;cJCFIF9qoJBC;>QcrN7eNNh_aLk2aEllF8BPe3C zVTZv&tCAdLYwsXe_DGk+9L26eb#Wp`CuhY*)OCOqS#4$XM(l|(3@oc-!0H%SR>we@ zu46+}%|uikB1jO`XeB%`s^&6OO+(dOhN@Y{zGpv9Hw=&F8EQ>#J|x_AJJT}!p5lIz zcBuz#7cU9X6so6;62qKU2CKa*mvxvch8&NIjpw3Hhn$VjgzCmJsvAaiV;R*AiBHlG z+!sY5aVoBc8}rACjJZIs@R?9lR^_<@C8HhWYXcfT$iWf8sACj(UeVhV_j?vOoC^?Lx z0@`qm^d}n|OD| zSK`r4va(ov)5}HLFhGeP;|h%E#^=Vr5OwgfES4mgQAoOvada7`Lx!o!$zaUb1vIg8 zQ3^#HEl5M!9Um2QTL;ks@p1OKON+hqsItx>4kxiisFDCmMKGF!eKw%cIbp6+%rSG3 zyUoG%JnL`zXa^lLR*g<4rY#}@n_c~wxf>BvPO?zAtnH=DxlG#$mjzq`YC~f_x*t7; za{~5VP%P28@XOUs>@oVxE%-UJq|tfu8f_e~=3`q|XRV0qGss{IvyEdRyAQ>*!Bj`D zosqCa3j?hEqZfkcu^@UPh-m#&L3D-_)fY5nRg9WL@wFN@6ELXED6X4-$tWh_2vLbq z90$!PR@N1)@|i0aBY*@mPLj7X328`@ zETkNX0@^SkfvODBdW4K5md*x+e{j~IN^;9~~Q7?jH4u9U%N4L)b^ zd4pdSjBHybT4TBsLhSn@h&^3*vzwCbPFGi~2uP8fw7zPp#WZzz!c@u$tUW{6V~Pa} z^-vJ?Sj@_cG@><95Q>$^Du&--*7ZP3@4Fzjqqq?h^)ZAnvt)HDF+7_Zb@K!$Ja1(N zSL>7(oES>cAZ6wtKKaiFRW3E7(V~@DxoYD;HQp)ID8|@hd^1XHSg$lq8|IP`i=hPl zj@n@ig18`ORRQ-y(Ll*eLSMzq2pvUc8$@e^Vv##1GFgX%h((f90ghDc5o^;^#=WPE zwp!Z0#UQFt3kF+!L^f;-u6Ud0X)E(|n%F2&FldiEQpYJcZuoLye|u*Tu{GlQ|HWj| z)d|Xrj)Er)+Y>3arY&KZMbel7m+=M5_yYP?mnzYDKv@B%iP$i!hF@l@OADGWv$&-X z;!A*%iRcqSWIJ-vh-(RJ9_ATMIAVV^qD?S~#kjN(VQC?4xDA>J$^1ai+On`jYYX() zSiD(Ek&D^s)jcn<8sVEjM{+qp_q$qWMvDA@3{*Xl>=i-J$x=L8w3L+3kj4dl2cb==NCIie(k|*G%yYKL!pqHpc=r%vniv*pI`InsXN5Hc!z{RqRU7=bN;w+LvW4#aTF}Ao?}WA-VS6WYtnP` zJ{LCQ{c4UEt<#Q~L#2iYX@$vL%(89ahc1XGW2rr?wzseHNJjYiL-EE@>I!@+(U0vHmscLnXeLG)tKW}H4BL|;{8xKp_pF|nh; zW8(|TlFmq*9i0R#j2zN_h)B1T4xJ<_kG)1RP8Fg!E}CHI7UvVb$vnQ-BxE7!5$=E4 zsh+k>(-R{LuvvjMqYXGEahY8kZihJgV`G6RSD+&YF=l=!i8>g9sa>RVUN{vU?yN(B zr8->5>Np(NaX2mz*P$H5SRG1Y!ebMjQHNl}H^>rk(jEhQ6KW}PlgQqIEV*V|ChhzXgB)hY$Rq2-YKx~L6LEB)^y!i4E@(3q}x(^97r4q!RI0v)8BOGng6N0ibLIXW6IOGjfl z9o!8=%AlhG1?Wjr2(kc@9$kvi)MFGZi-Hqrc-&fHUw3=iR#*yZiq&z7%w@F8P<*w` zh=~I!GKRF6c8-V%*=T}nbUAM?hXk?q=+N~V(>0sYH+M+#O0UNXaTZAVx`#+gB1h8MR0tNr`2r zBg*)*7^h2y9S%2olrJ4U3Z$dQ0ycUUmqyPxEIO}dtvM2zap_JmxNdecT;?avx-;#Aljg&_wA`&{eGT`;alN+Wt@N3;d{mU`fcmCtgn0C6}~q-+uXQu z^PWA8b+c2OH?3Fqqn3|oQ-nMCGWMuP(ZCe}LHgAO9k^0nzjnmsUY-%*NHkx4D zvJv0(rmZvenJpvJ^^yAKOA}j?6S>W?|3fW_`n!=IqOG__|j){2k`-9%Oj3Lx$hM)0lU@D#hPXDL$9S zJ9(b>RUUswH3bua?jdvX%)fFr&uU#n-kG`JT|78*eaAzzyccx)-FKSaC*SXlzU7_D zuEK*vj=ekQjlDU?ZRW8Xue`CR@Wvbd_N||;{{3(DT;-irndvu8#&2a!PR~s5o15fW z_Q~6LerMx*>+j`(;TaxQ>>N(}n|p-*yXxogdoYRPpP!SzmV}nON7H<~!*<8m+}w4V zb8o$K`u00!X4dn{yJdgrGRkxJ|J9#=9uD}%+yT#PEyu6n;dvN5=fx}E4nDhf=e%d! zs8SSuj2`bM??xUwxCy)K9r)hn>CuJv;$H7vgI_D1Z`yNL; zSmOwsF+M(6^{l`(@xQ0nzlhgAaM#bUzFNRP$=5qJdJ#!)bfm8#S&qfrD75;}wDcsv z`IrVRk9&+lu)#m5hX>xM*G<_ZzurF46BT;hL=PmyuP%{K|7KtRXuk7RBUN8V>nxRD z{!oTXU(ee->%A>}TzxCZ@17*kzv#b>_RPV<_;s3>ttWjZ1B82d9Kz?R3SM5dl6o~~ zKaT^5;#)|aC(rqDHSbdlwvA9w_eSuoi$fc{&G^0#UexGU{rmoXP^6z7p6I+G#;aJ- znea&=drjw?(mP`ObuT^XnF2kOu+-XD=4-?Fy1d-E+|{!poxB~fGFQ=qoiG2?kS=jL zdC^CGw!EA*_`3m2_;!V_0nv3{}Z=d^NSyT&u!Bm{M8SC#rwb$Z@nwHVsEDP2ao@L z-%s!P^2ghy(TSgb!?l0;v#YPZ`IhEL-}@i^+-F7e>c9Dk6P|w^U$OOgn8WiXemn0? zJjAYE{Nv;H^SPYQ7fJhKN1C#nYZS;P+xu5*zV^AVfA3X4_LFaJO>Dd5b!U!~Pg;{J2nVgIG@&F!!+Sf2Ck zu%p@2zHgSxt!7#1>8LxQ{VIl&o>ZFVp`R&x9aAsl$relAE|hI@3%Ta)p`jYqg`Ne{ z>vT156Q7-C)9KZ@CKzPZ$r`A|@8`)n(ED(Akv2!HtjN2_Da+4UOdGJ9YF6XjX{JzU-*^5tgyI1DUrS%{s?;?ku+`0{oC#v*%VCPeAYJnbVat|9VwL})To-nJC zvYhtiwdiF{S;u;I>07B!@89WhCShHw?c6%tGjk4~_;r={0a~KxrD|C1dMN7#@aXY6 zSzC7y7F_T3dR@dV|5e=e)F|G&8fC?QBfe>MG49<=p5?vm9?R47SLbp?T#$vH;8l)J zS(t@7XSLo_KtM1E^hok)#nyqizbf1bD9 zt9Z$HRE@XMu1>qXle5lBPajc35-z7~vQ~KIHB~2$&XFovTQ2Vjk6yV|(sLVGaW2(+ zuGR0M4fMR>R$%-fA!V-jE~L!cXrI#yZk@B#(j^*I`sH;==lbm9-kZVqPhX#HfWmdQ zQqyX!hDLNx?&%Rj$x>tV^Y9#7N*M*N>~DD0%s zt*-Sfp&nP$$dKlBKQ|eFzWF-v+vU@k7eK@E_1zNJ)h~$_-}DMx_gGV_zn9}Ux7S~; h&);O_zWF-w<;o^}`Gzi*p4MSwTJXR6^Zy+O{txWL3mgCd literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.dll b/UnitTestGhSA/bin/x64/Debug/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..7af125a246d180e71b9c4a20cca73cc44bfa8902 GIT binary patch literal 701992 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

    FBK!Kj;; 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 z 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 literal 0 HcmV?d00001 diff --git a/UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config b/UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config new file mode 100644 index 000000000..f88cb9fa0 --- /dev/null +++ b/UnitTestGhSA/bin/x64/Debug/GsaGH.dll.config @@ -0,0 +1,21 @@ + + + + +

    ;O}toEZGYyau5(eth}oMYLa^?dw|K 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�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%0Aa)Y?CN;?+lt2RM z1S2VFo}MZ~XLdnIkuZffjT8-}m8h#1K)DnuXO2>9Bu1mj)eoE|f5#s*O?s;ZOc$C^ zuw;FLv4{iC&n2a)pnVJn$UK6=fsw&ADaZ+mQW7x%kt0mbF2&jE@v%_fcvCJE)}pOa zAe17g90z+?(8wx>K^yOpM?st1IziBlWiSScF2f;Eg3XVB0svaZKmg37CJ_Ey=#!(L z5<)QeNp#7vPhO8SKKPM)mdZuHdel{le<+2@0kDq-?YwdX>>)n#5ZI%)P7L&*84QB5 z&u|n(!1-ZNLO}Z%h=bV#1tOu7g5*%BB@v8;h%h-AvU7jqBO!wVZUM?KRamS+SET^R znXerEEF5Usl|!G2^~mF%No<{<=fW`<@mPo9aK}OB$2!&>tzjV0WzZ1_aec(e@lCQG z3~n5ijBJBQ=#c^AFhYR?6JY%gLVL#`G^UXRh+UH^tW1esZdp1QZn_;~O1}Am-a)t~ zg>7BwoRalknRQC!a>{oQ$zzUn5ac`n_Av9n5w+`C2rh6{m8o%v2*R3rq79 zgK^MZ>yCy3ZsfEN%7j70P(eS_r+p?6x+?1+& zKo`)|RDlNxGBGS$$b#@fk8XW?eNO^=+pXT+-O&23<7>~MoNYv9H$JrwQe=tFiIf