我有一系列的类型
let rackStatusesPrototype : RackStatus seq
,现在我想将其分配给c#的一个属性,该属性是ICollection类型,但是我遇到了问题。我尝试过:
let test : ICollection<RackStatus> = rackStatusesPrototype :> ICollection<RackStatus>
但是它说不兼容的类型。我该怎么办?
答案 0 :(得分:4)
最简单的操作是open System.Linq
并在ToList()
上调用rackStatusesPrototype
,以将其转换为实现ICollection的C#列表。
F#数组也实现了ICollection,因此rackStatusesPrototype |> Array.ofSeq
也应该工作。如果您没有与C#world进行其他交互,则这可能是首选方式。
请注意,F#列表/集合/地图当前不实现ICollection接口,但实现adding it is planned。