2012-10-16 2 views

Répondre

2

J'ai joué un peu avec cela un peu et ce que j'ai remarqué est que le code conditionnel pour un bloc "#if DEBUG" est mis en commentaire. C'est probablement utile quand vous avez atteint le point de construire votre code de version. Le test "debug" reste dans votre code, mais ressemble à un commentaire. Voici ce que je jouais avec de tester que sur, YMMV:

using System; 
namespace testConditionalCompile 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 

#if RELEASE   
      Console.WriteLine("Release code"); 
#endif   

#if DEBUG 
      Console.WriteLine("Debug code");   
#endif 
     } 
    } 
} 

Je me rends compte que le bloc de code conditionnel n'est pas la meilleure façon de l'écrire, mais je pensais que ce pourrait mieux illustrer mon point au-dessus.

0

Pour ceux qui viennent à cette question portant sur l'une ou les deux #if UNITY_IOS ... #elif UNITY_ANDROID directives de préprocesseur MONTRANT commentées et/ou d'avoir le code étrange problèmes de formatage, Monodevelop formats que le code en fonction de quelle que soit la plate-forme que vous avez actuellement choisi dans les paramètres de construction. Donc, ce que vous voyez ci-dessous est intentionnel, car ce code est traité par Monodevelop essentiellement de la même manière que le code commenté. La logique est celle-ci puisqu'elle ne sera pas exécutée, ou même incluse dans la construction, qu'elle ne devrait pas être vérifiée dans l'éditeur. Ainsi le traitement de mise en forme/commenté. Personnellement, je trouve cela agaçant, car je devrais être en mesure d'écrire/afficher du code formaté indépendamment de la plate-forme actuelle que j'ai choisi dans les paramètres de construction.

screenshot

Questions connexes