отладки опыт, кажется, делает плохая работа по определению правильной привязки для идентификаторов. В вашем примере это означает, что любой идентификатор, называемый 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()
Теперь, в зависимости от экземпляра P
вы наведите курсор мыши, вы получите неправильные вещи!
Итак, это значит, что Studio немного глючит? Или это просто трюк, который я должен помнить? – Vladimir
Я бы назвал это ошибкой, да. – kvb