6
VS2012のデバッガがオブジェクトの同じメンバに異なる値を表示している理由は誰にも分かりますか?なぜF#デバッガがありますか?
http://s2.uploads.ru/jlkw0.png(VSのnonEnglishインタフェースのため申し訳ありませんが、私は状況は明らかだと思います。)(図を参照)。ここ
コード:
VS2012のデバッガがオブジェクトの同じメンバに異なる値を表示している理由は誰にも分かりますか?なぜF#デバッガがありますか?
http://s2.uploads.ru/jlkw0.png(VSのnonEnglishインタフェースのため申し訳ありませんが、私は状況は明らかだと思います。)(図を参照)。ここ
コード:
デバッグの経験があるようです識別子の正しいバインディングを特定することができません。つまり、正しいオブジェクトの対応するプロパティではなく、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
のいずれかのインスタンス、あなたが間違ったことを得ます!
だから、スタジオはちょっとバグがありますか?それとも、私は覚えておかなければならないトリックですか? – Vladimir
私は確かにそれをバグと呼んでいます。 – kvb