gpt4 book ai didi

f# - 计量单位如何表示?

转载 作者:行者123 更新时间:2023-12-04 11:14:26 26 4
gpt4 key购买 nike

我刚开始使用 F# 并且想知道度量单位:

我知道它们只在编译时出现并且 Reflector 确认了这一点:创建一个不是别名的度量单位会创建一个带有 MeasureAttribute 的类。属性,但除此之外,float<km/h>表示为普通 System.Double .并且在类型、构造函数参数或属性上没有属性。

至此我明白了。但是当我从另一个项目引用编译的程序集时,它似乎知道所有关于度量单位的信息,包括别名。它是如何获得这些信息的?他们在大会的什么地方?

最佳答案

F# 将“额外类型信息”存储在已编译程序集中的资源中,并且 F# 编译器知道如何读取该资源。因此,虽然可区分的联合只是被编译成一个类,并且一个度量单位被删除成 double 值,但程序集中的资源中有额外的 F# 特定类型信息,因此当 F# 编译器读取它时,它可以重新构建额外的“F# 元数据”。

PowerPack有一个元数据阅读器,可让您以编程方式访问它。

关于f# - 计量单位如何表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com