I'm just starting with F# and am wondering about units of measure:
I understand they are only present at compile time and Reflector confirms this: creating a unit of measure that is not an alias creates a class with MeasureAttribute
attribute, but other than that, float<km/h>
is represented as plain System.Double
. And there are no attributes on the type, constructor parameter or properties.
So far I understand. But when I reference the compiled assembly from another project, it seems to know all about the units of measure, including aliases. How does it get that information? Where in the assembly are they?