19

ほとんど好奇心から、Windows Developer Preview でリリースされた Visual Studio 2011 で小さな "Metro Style" プロジェクトのプログラミングを開始しました。設計には XAML を、コード ビハインドには (私のプロジェクトでは) C# を組み合わせています。

C# のエクスペリエンスは、.NET Framework 4.0 を使用した Visual Studio 2008 で得られるものとほとんど同じですが、私が見つけることができなかった次の機能を除けば:

  • System.Console、デバッグが少し難しくなりますが、
  • そしてSystem.Threading.Thread.Sleep(TimeSpan)、これはまさに私が今必要としていたものなので、もう少し不便です。

これらの機能は実際に欠落しているか無効になっていますか、それとも間違った場所を見ただけですか? 前もって感謝します。

4

4 に答える 4

17

プレビューがインストールされていないため、確認できません。しかし、次の 2 つの考えがあります。

  1. Metro スタイル アプリケーションには Console がないため、System.Console はおそらく使用できません。Debug.WriteLineが利用可能かどうかを確認します。Visual Studio のデバッグ ウィンドウに直接書き込みます。

  2. Metro スタイル アプリケーションは、スレッドを長時間ブロックすることは想定されていません。数ミリ秒以上かかるものはすべて、非同期で実行する必要があります。タイマーなど、しばらくしてから非同期コールバックを実行する方法を探します。または、タイム スパンを終了できる場合もありawaitます (Async CTP の TaskEx.Delay など)。

于 2011-09-16T21:34:40.067 に答える
7

「printfデバッグ」には、名前空間のメソッドを使用することDebug.WriteLineをお勧めします。それらはデバッガー出力ウィンドウに出力されます-DeveloperPreviewに付属するVSExpressでは、最初にそれを有効にする必要があります([デバッグ]->[ウィンドウ]->[出力])。Trace.WriteLineSystem.Diagnostics

についてThread.Sleep、あなたはそれが必要であるとあなたが信じる特定のシナリオを明確にすることができますか?

于 2011-09-16T21:32:08.630 に答える
6

http://dougseven.com/2011/09/15/a-bad-picture-is-worth-a-thousand-long-discussions/

私の理解では、それは単なるサブセットです。欠落しているもののほとんどは同期操作に関連しています (したがって、Thread.Sleep() がなくなったことは驚くことではありません)。また、「File.Create」などを同期的に呼び出すことができないこともわかります。

于 2011-09-16T21:34:40.253 に答える
5

はありませんThread.Sleep()が、使用できますTask.Delay(milliseconds);

何に役立つのか疑問に思っている人のために、非同期動作を強調するためにデバッグで使用すると言います。

于 2012-08-11T14:19:00.450 に答える