编辑:如果您遇到同样的问题(并且您习惯于在 VS2010 下看不到此问题),请在下面发表评论,以便我知道这不仅仅是我 - 但请务必检查 Han 的回答以确保这些情况都不会出现。 ..
我一直在更新我的应用程序以在 VS2012 RTM 中使用 .NET 4.5 运行,并注意到一些我不太理解的东西,即意外地以绿色突出显示的语句(而不是黄色)。
现在我很清楚这应该是什么意思,IDE 甚至向我展示了一些解释工具提示。
这是该线程从当前函数返回时要执行的下一条语句
但是,绝对没有关于此代码的异步或线程。在这个简单的例子中,我相信你会同意它string.ToUpper()
不会在另一个线程中关闭。我可以单步执行代码没有问题。
没有其他事情发生,我在主线程上,你可以在这里看到。
我正在使用async
and await
(MVVM-Light
上述方法是 RelayCommand 的结果),但即使代码路径直接关闭事件处理程序(例如 PreviewKeyDown
.
如果我创建一个新应用程序,我无法复制它——颜色如预期的那样是黄色的——即使使用await
.
有人知道吗?它开始让我发疯!