我想要创建一个只读的键集合,它实现了IDictionary <'K,'V>和IEnumerable <'V>。以明显的方法,我得到以下错误:如何创建一个类型,实现IDictionary <'K, 'V>和IEnumerable <'V>
This type implements or inherits the same interface at different generic instantiations 'IEnumerable<'V>' and 'IEnumerable<KeyValuePair<'K,'V>>'. This is not permitted in this version of F#.
是否有实现这一目标的一个不同的方式?
编辑 - 由于这似乎是F#不可逾越的限制,实现这一目标的习惯方式是什么?想到的一个想法是提供返回所需数据视图的成员,例如成员x.List:IList <'V>和成员x.Dict:IDictionary <'K,'V>。对象表达式可以用来提供实现。任何其他想法?