gpt4 book ai didi

generics - 将 F# 泛型函数限制为联合类型?

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

根据标题,有没有办法将 F# 泛型函数限制为联合类型?到目前为止,我正在使用:

let toDomain<'T> external: 'T option =
assert FSharpType.IsUnion(typeof<'T>)
...

如果我尝试使用非联合,它会在运行时失败并出现 System.ArgumentException,但我更喜欢早点检查。

最佳答案

不。

如果你偷看 implementationIsUnion并稍微遵循代码,归结为检查属性/参数的存在[<CompilationMapping(SourceConstructFlags.SumType)>] .

目前,F# 或 .NET 都不支持纯粹基于属性的约束。

关于generics - 将 F# 泛型函数限制为联合类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28546032/

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