2013-03-30 19 views

Odpowiedz

8

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!

+0

Czy oznacza to, że Studio jest trochę błędne? Czy to tylko sztuczka, którą powinienem zapamiętać? – Vladimir

+4

Z pewnością nazwałbym to błędem, tak. – kvb