Class PrefixUnitExtensions
Extension methods for the IPrefixUnit interfacce.
Examples
Convert and transform prefix units to other prefix scales and formats. This example demonstrates extension methods like ToBaseUnit(), ToBaseValue(), ToPrefixValue(), ToMetricPrefixTable(), ToDataPrefixTable(), and ToPrefixString(), showing how to extract different representations and scale conversions from a prefix unit:
using System;
using Codebelt.Unitify;
namespace Unitify.Samples;
public class PrefixUnitExtensionsExample
{
public static void Main()
{
// Create a kilowatt
var kilowatt = new PrefixUnit(Unit.Watt, 5.0, DecimalPrefix.Kilo);
Console.WriteLine($"Original: {kilowatt}");
// Convert to base unit using extension method
var wattUnit = kilowatt.ToBaseUnit();
Console.WriteLine($"Base unit: {wattUnit}");
// Get the base value in watts
var baseValue = kilowatt.ToBaseValue();
Console.WriteLine($"Base value: {baseValue} W");
// Get the prefix value (the numeric part with the prefix applied)
var prefixValue = kilowatt.ToPrefixValue();
Console.WriteLine($"Prefix value: {prefixValue}");
// Convert to a metric prefix table and look up different scales
var metricTable = kilowatt.ToMetricPrefixTable();
var megawatt = metricTable?.MegaOrDefault();
if (megawatt != null)
{
Console.WriteLine($"Mega scale: {megawatt}");
}
// Convert to a data prefix table for binary scales
var dataTable = kilowatt.ToDataPrefixTable();
Console.WriteLine($"Data table available: {dataTable != null}");
// Get a formatted prefix string
var prefixString = kilowatt.ToPrefixString();
Console.WriteLine($"Prefix string: {prefixString}");
}
}
public static class PrefixUnitExtensions
- Inheritance
-
PrefixUnitExtensions
Methods
ToBaseUnit(IPrefixUnit)
Converts the unit to its base unit equivalent.
public static IUnit ToBaseUnit(this IPrefixUnit unit)
Parameters
unitIPrefixUnitThe IPrefixUnit to extend.
Returns
Exceptions
- ArgumentNullException
unitcannot be null.
ToBaseValue(IPrefixUnit)
Converts the value of a unit to its base equivalent.
public static double ToBaseValue(this IPrefixUnit unit)
Parameters
unitIPrefixUnitThe IPrefixUnit to extend.
Returns
Exceptions
- ArgumentNullException
unitcannot be null.
ToDataPrefixTable(IPrefixUnit)
Converts the unit to a DataPrefixTable representation.
public static DataPrefixTable ToDataPrefixTable(this IPrefixUnit unit)
Parameters
unitIPrefixUnitThe IPrefixUnit to extend.
Returns
Exceptions
- ArgumentNullException
unitcannot be null.
ToMetricPrefixTable(IPrefixUnit)
Converts the unit to a MetricPrefixTable representation.
public static MetricPrefixTable ToMetricPrefixTable(this IPrefixUnit unit)
Parameters
unitIPrefixUnitThe IPrefixUnit to extend.
Returns
Exceptions
- ArgumentNullException
unitcannot be null.
ToPrefixString(IPrefixUnit)
Converts the unit to its prefix string representation.
public static string ToPrefixString(this IPrefixUnit unit)
Parameters
unitIPrefixUnitThe IPrefixUnit to extend.
Returns
- string
A string that represents that represents the first prefix greater or equal to one of the specified
unit.
Exceptions
- ArgumentOutOfRangeException
unitis not a Decimal (10) or Binary (2) prefix.- ArgumentNullException
unitcannot be null.
ToPrefixValue(IPrefixUnit)
Converts the value of a unit to its prefix equivalent.
public static double ToPrefixValue(this IPrefixUnit unit)
Parameters
unitIPrefixUnitThe IPrefixUnit to extend.