Metro风格的应用程序缺少.net特性
本文关键字:net 特性 应用程序 风格 Metro | 更新日期: 2023-09-27 18:08:55
主要是出于好奇,我开始在Visual Studio 2011中编写一个小型的"Metro Style"项目,该项目在Windows Developer Preview中发布。它将XAML用于设计,c#(在我的项目中)用于代码隐藏。
c#的体验与你在Visual Studio 2008中使用。net framework 4.0获得的体验基本相同,除了这些我没能找到的功能:
- 系统。控制台,这使得调试更困难,
- 和System.Threading.Thread.Sleep(TimeSpan),这有点不方便,因为这正是我现在需要的。
那么这些功能实际上是缺失/禁用的,还是我只是看错了地方?
我没有安装预览,所以我不能检查。但这里有两个想法:
-
系统。控制台可能不可用,因为在Metro风格的应用程序中没有控制台。检查是否调试。WriteLine是可用的。它直接写入Visual Studio中的Debug窗口。
-
Metro风格的应用程序不应该长时间阻塞线程。所有耗时超过几毫秒的任务都应该以异步方式完成。看在一段时间后执行异步回调的某种方式,例如定时器。或者您可以在一个时间跨度的末尾进行
await
(如TaskEx)。
对于"printf调试",我建议您使用System.Diagnostics
命名空间中的Debug.WriteLine
和/或Trace.WriteLine
方法。它们打印到调试器输出窗口——在Developer Preview中的VS Express中,你需要首先启用它(Debug -> Windows -> output)。
对于Thread.Sleep
,你能澄清你认为需要它的具体场景吗?
http://dougseven.com/2011/09/15/a-bad-picture-is-worth-a-thousand-long-discussions/
我的理解是它只是一个子集;丢失的大部分内容都与同步操作有关(所以我对Thread.Sleep()消失并不感到惊讶)。你还会找到"文件"之类的东西。Create'不能同步调用
没有Thread.Sleep()
,但可以使用Task.Delay(milliseconds);
对于那些想知道什么是有用的,我说我在调试中使用它来强调异步行为。