我在VS2013上使用F#3.1。以下代码导致以下错误消息
“基于此程序点之前的信息查找不确定类型的对象。在此程序点之前可能需要类型注释来约束对象的类型。这可以允许解析查找。 ”。
我无法弄清楚为什么会发生这种情况,因为这里使用的所有类型都是众所周知的(来自.Net框架本身)。有人可以让我光明吗?
open System.IO
open System.Collections.Generic
type A() as me =
let drives = new List<DriveInfo>()
let x = me.SelectedDrive
let y = x.RootDirectory // this causes "Lookup on object of indeterminate type..."
member this.SelectedDrive with get() = drives.[0]
答案 0 :(得分:3)
F#编译器从上到下读取文件,因此当必须确定y
的类型时,编译器尚不知道this.SelectedDrive
的类型。这就是您收到此错误的原因。