Table of Contents

UnitFactory Class

Definition

Namespace
Codebelt.Unitify
Assemblies
Codebelt.Unitify.dll
Source
src/Codebelt.Unitify/UnitFactory.cs

Provides a set of static methods for generating different types of unit of measure and the option to define your own with CreateUnit(string, string, string, double, IPrefix, Action<UnitFormatOptions>).

Examples

Create SI units with predefined base values using factory methods. This example demonstrates factory methods for different unit types (meter, watt, byte, and second), each creating a fully-configured unit instance with a base value so you can immediately start formatting and working with the result:

using System;
using Codebelt.Unitify;

namespace Unitify.Samples;

public class UnitFactoryExample
{
    public static void Main()
    {
        // Create a meter unit
        var meter = UnitFactory.CreateMeter(100);
        Console.WriteLine($"Distance: {meter}");
        
        // Create a watt unit
        var watt = UnitFactory.CreateWatt(1500);
        Console.WriteLine($"Power: {watt}");
        
        // Create a byte unit for data storage
        var byte_unit = UnitFactory.CreateByte(1024);
        Console.WriteLine($"Data: {byte_unit}");
        
        // Create a second unit for time
        var second = UnitFactory.CreateSecond(3600);
        Console.WriteLine($"Time: {second}");
    }
}
public static class UnitFactory
Inheritance
UnitFactory

Methods

Name Description
CreateAmpere(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Electric Current in amperes.

CreateBecquerel(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Radioactivity in becquerels.

CreateBit(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Data Quantity in bits.

CreateBitPerSecond(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Transmission Rate in bits per second.

CreateByte(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Data Quantity in bytes.

CreateCandela(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Luminous Intensity in candelas.

CreateCelsius(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Temperature in degrees Celsius.

CreateCoulomb(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Electric Charge in coulombs.

CreateFarad(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Electric Capacitance in farads.

CreateGram(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Mass in grams.

CreateGray(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Absorbed Dose in grays.

CreateHenry(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Inductance in henries.

CreateHertz(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Frequency in hertz.

CreateJoule(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Energy in joules.

CreateKatal(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Catalytic Activity in katals.

CreateKelvin(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Temperature in kelvin.

CreateKilogram(double, Action<UnitFormatOptions>)

Creates a unit of measure for Mass in kilograms.

CreateLumen(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Luminous Flux in lumens.

CreateLux(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Illuminance in lux.

CreateMeter(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Length in meters.

CreateMole(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Amount of Substance in moles.

CreateNewton(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Force in newtons.

CreateOhm(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Electric Resistance in ohms.

CreatePascal(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Pressure in pascals.

CreateRadian(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Plane Angle in radians.

CreateSecond(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Time in seconds.

CreateSiemens(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Electric Conductance in siemens.

CreateSievert(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Equivalent Dose in sieverts.

CreateSteradian(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Solid Angle in steradians.

CreateTesla(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Magnetic Flux Density in teslas.

CreateUnit(string, string, string, double, IPrefix, Action<UnitFormatOptions>)

Creates a custom unit of measure.

CreateVolt(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Electric Potential in volts.

CreateWatt(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Power in watts.

CreateWeber(double, IPrefix, Action<UnitFormatOptions>)

Creates a unit of measure for Magnetic Flux in webers.