generics - F#检查泛型类型参数是否被区分联合
问题描述
创建约束时如何指定可区分联合的类型?我应该写什么而不是DiscriminatedUnion
?
let f<'U when 'U :> DiscriminatedUnion> ()
解决方案
我不相信有任何方法可以在编译时强制执行此检查。在运行时,您可以在实现中使用FSharpType.IsUnion
ref并可能通过抛出异常来处理错误情况。
推荐阅读
- javascript - 可以撤消另一个组件在文本字段中的状态更改吗?
- flutter - 从父 FutureBuilder 执行 FutureBuilder
- redirect - Javascript重定向到相同的url
- python-3.x - 对象检测 API model_main_tf2.py:Dst 张量未初始化
- x86 - 寄存器寄存器与寄存器内存
- delphi - 将 ASM 指令 RDRand 转换为 Win64
- docker - 我的应用程序在 docker 上运行但出现 JDBC 错误?
- php - 我希望我的输入在单击时获得按钮的值
- python - 在 Python 中创建扫雷时出现的问题
- airflow - 气流重新安排错误:依赖“任务实例状态”通过:假