我刚开始学习F#,对单位有些疑问:
我知道它们只存在于编译时,反射器也证实了这一点:创建一个不是别名的度量单位会创建一个带有 MeasureAttribute
属性的类,但除此之外,float<km/h>
被表示为普通的 System.Double
。并且类型、构造函数参数或属性上没有任何属性。
到目前为止我都理解了。但当我从另一个项目中引用已编译的程序集时,它似乎已经了解了所有关于度量单位的信息,包括别名。它是如何获取这些信息的?它们在程序集的哪里?
我刚开始学习F#,对单位有些疑问:
我知道它们只存在于编译时,反射器也证实了这一点:创建一个不是别名的度量单位会创建一个带有 MeasureAttribute
属性的类,但除此之外,float<km/h>
被表示为普通的 System.Double
。并且类型、构造函数参数或属性上没有任何属性。
到目前为止我都理解了。但当我从另一个项目中引用已编译的程序集时,它似乎已经了解了所有关于度量单位的信息,包括别名。它是如何获取这些信息的?它们在程序集的哪里?