2
我創建了一個將被C#代碼使用的模塊,所以我寧願不直接返回LazyList<>
。如果我這樣做,C#將不得不引用FSharp.PowerPack
,這看起來很奇怪。F#LazyList - > IList
所以我寧願返回一個IList<>
,但是當我嘗試做一些事情,如:
let x = LazyList.ofSeq {0..10}
let y = x :> IList<int32>
然而,這給我的錯誤:
The type 'LazyList<int> is not compatible with the type 'IList<int>'
這使我相信,LazyList<>
不是implement
IList<>
。這是真的?
我錯過了什麼?
這[文章](http://stackoverflow.com/q/9201402/2145211)可幫助 – Harrison
'的IList <_>'暴露之類的東西'Count'只意義,如果列表被完全構造,所以'LazyList <_>'沒有實現這個接口是有道理的。 – kvb
@kvb:我正在服用DoctorJones(http://stackoverflow.com/questions/2689986/lazylistt-vs-system-lazylistt-in-asp-net-mvc-2/2690307#2690307)他的話有點.. 。但它肯定是有道理的,它不能從'IList <>' – Andrew