Я только начинаю с F # и задаюсь вопросом о единицах измерения:
Я понимаю, что они присутствуют только во время компиляции, и Reflector подтверждает это: создание единицы измерения, которая не является псевдонимом, создает класс с атрибутом MeasureAttribute
, но, кроме этого, float<km/h>
представляется в виде простого System.Double
. И нет никаких атрибутов типа, параметра конструктора или свойств.
Пока я понимаю. Но когда я ссылаюсь на скомпилированную сборку из другого проекта, она, похоже, знает все о единицах измерения, включая псевдонимы. Как он получает эту информацию? Где в сборке они?