Skip to content

API Overview

Marcus Ackre Medina edited this page Sep 13, 2026 · 1 revision

API Overview

The Area struct

MarcusMedina.Units.Area.Area — a readonly struct implementing IComparable<Area> and IEquatable<Area>. Internally stores everything as square meters via the SquareMeters property (double).

public Area(double squareMeters)
public double SquareMeters { get; }

ToString() renders as "{value} m²" using invariant culture.

Unit extension methods

Each unit exposes a creation extension (int/double → Area) and a conversion extension (Area → double). All conversion factors below are the exact multipliers used in source (to convert to square meters).

MarcusMedina.Units.Area.Metric

Unit Create Convert back Factor (→ m²)
Square millimeters SquareMillimeters() ToSquareMillimeters() 0.000001
Square centimeters SquareCentimeters() ToSquareCentimeters() 0.0001
Square decimeters SquareDecimeters() ToSquareDecimeters() 0.01
Square meters SquareMeters() ToSquareMeters() 1
Are Ares() ToAres() 100
Hectare Hectares() ToHectares() 10,000
Square kilometers SquareKilometers() ToSquareKilometers() 1,000,000

MarcusMedina.Units.Area.US

Unit Create Convert back Factor (→ m²)
Square inches SquareInches() ToSquareInches() 0.00064516
Square feet SquareFeet() ToSquareFeet() 0.09290304
Square yards SquareYards() ToSquareYards() 0.83612736
Acre Acres() ToAcres() 4,046.8564224
Square mile SquareMiles() ToSquareMiles() 2,589,988.110336

MarcusMedina.Units.Area.British

Same units as US, plus the rood:

Unit Create Convert back Factor (→ m²)
Square inches SquareInches() ToSquareInches() 0.00064516
Square feet SquareFeet() ToSquareFeet() 0.09290304
Square yards SquareYards() ToSquareYards() 0.83612736
Rood (¼ acre) Roods() ToRoods() 1,011.7141056
Acre Acres() ToAcres() 4,046.8564224
Square mile SquareMiles() ToSquareMiles() 2,589,988.110336

MarcusMedina.Units.Area.SwedishOld

Historical Swedish land-measurement units (pre-1889):

Unit Create Convert back Factor (→ m²)
Kvadrattum KvadratTum() ToKvadratTum() 0.000684
Kvadratfot KvadratFot() ToKvadratFot() 0.098501
Kvadrataln KvadratAln() ToKvadratAln() 0.394007
Kappland Kappland() ToKappland() 154.26
Tunnland (= 32 kappland) Tunnland() ToTunnland() 4,936.32

Every creation method has both an int and a double overload (e.g. 4.Tunnland() and 4.0.Tunnland()).

Operators (defined on Area)

Operator Signature Behavior
==, != Area, Area Value equality on SquareMeters
<, >, <=, >= Area, Area Compares SquareMeters
+ Area + Area Adds SquareMeters
- Area - Area Subtracts SquareMeters
* Area * double Scales SquareMeters by a factor
/ Area / double Divides SquareMeters by a divisor, returns Area
/ Area / Area Divides SquareMeters by SquareMeters, returns double (ratio)

No enums are defined in this package.