Vla*_*mir 6 error-handling f# visual-studio
谁能解释一下为什么VS2012的调试器为同一个对象成员显示不同的值?(见图)
http://s2.uploads.ru/jlkw0.png(对不起VS的非英语界面,但我认为情况很清楚.)
这里的代码:
调试经验似乎在识别标识符的正确绑定方面做得很差.在您的示例中,这意味着所调用的任何标识符Source实际上都显示了值this.Source,而不是正确对象的相应属性.请注意,您可以通过悬停y和扩展成员来获得正确的值(尽管这显然不是很棒的体验).
这个问题本身就有更令人困惑的方式:
type T() =
member val P = 1
member this.DoSomething() =
let P = "test" // set breakpoint here, hover over P
printfn "%i" this.P // set breakpoint here, hover over P
T().DoSomething()
Run Code Online (Sandbox Code Playgroud)
现在,无论P你徘徊在哪个例子,你都会得到错误的东西!