2012-11-27 13 views
6

rozumiem za pomocą dyrektywy NETFX_CORE, tak:Jeśli NETFX_CORE jest dla Windows 8, co jest dla Windows Phone 8?

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

Więcej informacji: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714084(v=vs.105).aspx

Ale istnieje dyrektywa specyficzne dla Windows Phone 8?

+1

Link jest dla rozwoju .NET, ale pytanie waśń 't oznaczony tak czy inaczej. Mam rację, to przede wszystkim chodzi o .NET? Rodzimy rozwój będzie miał różne definicje. –

+0

Hm, NETFX_CORE to rodzaj techniki, przepraszam, jeśli to przegapiłeś. –

Odpowiedz

9

Tak, dyrektywa Windows Phone jest:

#if WINDOWS_PHONE 

Jest to udokumentowane here, ale jestem zaskoczony, że to nie jest wymienione here. Testowałem to również w jakimś kodzie i to działa.

+0

W przypadku projektów ukierunkowanych na ** Windows 8.1 ** i ** Windows Phone 8.1 ** będą to "WINDOWS_APP" i "WINDOWS_PHONE_APP". – Sevenate

1

Z tego co wiem, nie ma takiej dyrektywy. Ale można użyć, jeśli nie:

#if !NETFX_CORE 
    // Windows Phone 8 
#endif 
+1

Haha! Nie dokładnie to, co miałem na myśli, ale to zabawne. –

0

Ale czy istnieje dyrektywa specyficzna dla systemu Windows Phone 8?

Możesz zdefiniować swoje własne dyrektywy preprocesora, które znasz. WINDOWS_PHONE po prostu zdarza się być zdefiniowany przez szablony projektów Visual Studio dla projektów Windows Phone.

samo dotyczy Debug śladowych i cokolwiek zwyczaj nich może mieć podobny EXTENSIVE_LOGGING lub LOOKING_FOR_A_CATBUS

4

WP8 powinny używać niestandardowych warunkowe flagi kompilacji wprowadzone przez dewelopera. Przeczytaj więcej na ten temat: here. Nokia ma cały artykuł poświęcony coding for both WP7 and WP8 i bardzo polecam przejrzeć wszystkie techniki, aby zobaczyć, co jest najlepsze dla Ciebie.

Definiowanie warunkowa kompilacja symbol:

  1. prawym przyciskiem myszy na projekcie WP 8 i wybierz Właściwości. Otwórz stronę
  2. Stronę kompilacji Projektanta projektu i wstaw WP8 do symboli kompilacji warunkowej . Po tym, powinny one zawierać coś jak tym: Silverlight; WINDOWS_PHONE; WP8

A oto przykładowy kod inline

// 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 
+0

możesz mi pomóc mam ten sam problem http://stackoverflow.com/questions/22094143/macros-in-prefix-pch-file-equivalent-in-wp8 – user2056563

+0

Czy masz na myśli # UNITY_WP8 lub jest inaczej WP8? Jeśli masz na myśli UNITY_WP8, to jest to nieprawidłowe, ponieważ powinno być WINDOWS_PHONE: http://forum.unity3d.com/threads/whats-the-difference-between-if-unity_wp8-and-if-windows_phone.221061/ – ickydime

+0

Te linki nie działają. : / – ickydime