6

次のように、NETFX_CORE ディレクティブを使用することを理解しています。

#if NETFX_CORE 
    // Windows 8
#else 
    // Windows Phone 8
#endif

詳細: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714084(v=vs.105).aspx

しかし、Windows Phone 8 に固有のディレクティブはありますか?

4

4 に答える 4

9

はい、WindowsPhoneディレクティブは次のとおりです。

#if WINDOWS_PHONE

これはここに文書化されていますが、ここで言及されていないことに驚いています。また、これをいくつかのコードでテストしましたが、機能します。

于 2012-11-28T04:03:16.427 に答える
4

WP8 は、開発者によって導入されたカスタムの条件付きコンパイル フラグを使用する必要があります。この正確なトピックの詳細については、こちらをご覧ください。Nokia には、 WP7 と WP8 の両方のコーディングに特化した記事全体があり、すべての手法を調べて、使用するのに最適な手法を確認することを強くお勧めします.

条件付きコンパイル シンボルの定義:

  1. WP 8 プロジェクトを右クリックし、[プロパティ] を選択します。を開きます
  2. プロジェクト デザイナーのページをビルドし、条件付きコンパイル シンボルに WP8 を挿入します。この後、次のようなものが含まれている必要があります: SILVERLIGHT;WINDOWS_PHONE;WP8

そして、これがインラインコードのサンプルです

// Separate implementations for different OS versions
#if WP8
    // code using enhancements introduced in Windows Phone 8 
#else
    // code using Windows Phone OS 7.1 features 
#endif


// A new Windows Phone 8 feature
#if WP8
    // code using new Windows Phone 8 feature
#endif 
于 2012-11-29T01:53:36.743 に答える
1

私の知る限り、そのような指示はありません。しかし、そうでない場合は使用できます:

#if !NETFX_CORE 
    // Windows Phone 8
#endif
于 2012-11-27T22:43:33.383 に答える
0

しかし、Windows Phone 8 に固有のディレクティブはありますか?

知っている独自のプリプロセッサ ディレクティブを定義できます。WINDOWS_PHONE は、たまたま Windows Phone プロジェクト用の Visual Studio プロジェクト テンプレートによって定義されています。

DEBUG、TRACE、および EXTENSIVE_LOGGING や LOOKING_FOR_A_CATBUS などのカスタムのものについても同様です。

于 2012-11-28T04:13:02.973 に答える