我正在尝试为绑定(bind)到 F# 中特定泛型类型参数的泛型类型创建各种扩展方法,但该语言似乎不允许我:
我想做的是如下所示:
type IEnumerable<int> with
member this.foo =
this.ToString()
然而它给了我编译器错误(在
int
关键字下划线):Unexpected identifier in type name. Expected infix operator, quote symbol or other token.
以下确实有效,尽管它没有专门将泛型类型参数绑定(bind)到
int
,如我所愿:type IEnumerable<'a> with
member this.foo =
this.ToString()
有什么方法可以在 F# 中实现这一目标 - 我可能只是使用了错误的语法吗?如果没有,如果有人可以提出解决方法,我将不胜感激,也许在某处使用类型约束。
最佳答案
不幸的是,这在当前版本的 F# 中是不可能的。查看相关问题 here .
关于generics - 特定泛型类型的扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1531580/