在 C# 中,我可以使用此扩展方法扩展类型 IStore<ValueTuple<K, V>>
public static void F<K, V>(this IStore<ValueTuple<K, V>> s, K k)
我没有看到使用 F# 以类似方式扩展 IStore<ValueTuple<K, V>> 的方法。我能想到的最接近的方法是通过约束来表达 ValueTuple 规范,但这不起作用:
type IStore<'kv when 'kv :> ValueTuple<'k, int> > with
member o.F(k: 'K) = 42
有没有办法在 F# 中表达这一点?
这个答案似乎有效:https://stackoverflow.com/a/23208542/20092784
从 F# 的某些更高版本(当我们获得结构元组时)开始,您还可以执行以下操作