出于好奇,我开始在Visual Studio 2011中编写一个小型“Metro Style”项目,该项目是在Windows Developer Preview中发布的。它结合了XAML用于设计和C#(在我的项目中)用于代码隐藏。
C#体验与使用.NET Framework 4.0的Visual Studio 2008获得的体验大致相同,除了我无法找到的这些功能:
这些功能实际上是丢失/禁用的,还是我只是在错误的地方看?提前谢谢。
答案 0 :(得分:17)
我没有预览安装,所以我无法检查。但这有两个想法:
System.Console可能不可用,因为Metro风格应用程序中没有控制台。检查Debug.WriteLine是否可用。它直接写入Visual Studio中的Debug窗口。
Metro风格应用程序不应在延长的持续时间内阻止线程。所有花费超过几毫秒的事情都应该以异步方式完成。看
某种方式在一段时间后执行异步回调,例如计时器。或者您可以await
结束时间跨度(如异步CTP中的TaskEx.Delay)。
答案 1 :(得分:7)
对于“printf debugging”,我建议您使用Debug.WriteLine
命名空间中的Trace.WriteLine
和/或System.Diagnostics
方法。它们打印到调试器输出窗口 - 在Developer Preview中的VS Express中,您需要先启用它(Debug - > Windows - > Output)。
对于Thread.Sleep
,您能澄清一下您认为需要的具体方案吗?
答案 2 :(得分:6)
http://dougseven.com/2011/09/15/a-bad-picture-is-worth-a-thousand-long-discussions/
我的理解是它只是一个子集;缺少的大部分内容与同步操作有关(因此我对Thread.Sleep()的消失并不感到惊讶)。你也会发现'File.Create'这样的东西不能同步调用。
答案 3 :(得分:5)
没有Thread.Sleep()
,但您可以使用Task.Delay(milliseconds);
对于那些想知道它有用的人,我说我在调试中使用它来强调异步行为。