Doświadczenie debugowanie wydaje się zrobić słaba praca polegająca na identyfikowaniu poprawnego powiązania dla identyfikatorów. W twoim przykładzie oznacza to, że każdy identyfikator o nazwie Source
rzeczywiście pokazuje wartość this.Source
, a nie odpowiadającą właściwość poprawnego obiektu. Zauważ, że możesz uzyskać odpowiednią wartość, najeżdżając kursorem na y
i rozwijając członków (chociaż oczywiście nie jest to wspaniałe doświadczenie).
Są nawet bardziej skomplikowane sposoby, że kwestia ta przejawia się:
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()
Teraz, w zależności od instancji P
najechaniu, masz źle!
Czy oznacza to, że Studio jest trochę błędne? Czy to tylko sztuczka, którą powinienem zapamiętać? – Vladimir
Z pewnością nazwałbym to błędem, tak. – kvb