Und was machst du wenn Tuwas nur Gramm und Kilogramm verarbeiten soll nicht aber Tonnen oder Milligram ?
Nenne mir einen Grund warum dieses notwendig ist. Ich kann da keinen Grund erkennen.
Wird eine Formel anders, wenn du statt mit 100kg einfach mit 0,1t rechnest?
Oder würde die Formel nicht eher so aussehen
Delphi-Quellcode:
class operator TDuration.Divide( const a: TLength; const b: TDuration ): TSpeed;
begin
Result := TSpeed.FromMetersPerSecond( a.Meters / b.Seconds );
end;
Oder um bei deinem Beispiel zu bleiben
Delphi-Quellcode:
function Tuwas( const gewichtA, gewichtB : TWeight ): Currency;
begin
// Preis für A = 20 Euro pro Kilogramm
// Preis für B = 30 Euro pro Gramm
Result := 20 * gewichtA.Kilograms + 30 * gewichtB.Grams;
end;
Warum sollte es eine gesonderte Rolle spielen ob ich den Wert in Tonnen oder Kilogramm übergeben habe? In der Berechnung werden die korrekten Einheiten verwendet und nur das zählt.