Symboles de compilation conditionnelle
De Banane Atomic
Aller à la navigationAller à la recherche
Utilisation dans le code
// les #define doivent être les premières instructions du fichier avant les using et namespace #define MYTEST using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { #if (DEBUG && !MYTEST) Console.WriteLine("DEBUG is defined"); #elif (!DEBUG && MYTEST) Console.WriteLine("MYTEST is defined"); #elif (DEBUG && MYTEST) Console.WriteLine("DEBUG and MYTEST are defined"); #else Console.WriteLine("DEBUG and MYTEST are not defined"); #endif } } } |
Activation d'un symbole
#define
- Propriétés du projet → Générer → Symboles de compilation conditionnelle
Attribut de méthode Conditional
Conditional est un attribut de méthode qui indique au compilateur d'ignorer les appels à celle-ci si un certain identificateur de prétraitement n'est pas définit. Néanmoins le code de la méthode sera toujours compilé en MSIL.
RELEASE n'existe pas, il faut utiliser !DEBUG.
// Les appels à la méthode Message seront ignoré // si la compilation n'a pas été réalisée dans le mode DEBUG. [Conditional("DEBUG")] static void Message(string message) { // Le code suivant ne sera pas compilés si la compilation n'a pas été réalisée // dans le mode DEBUG. #if DEBUG Console.WriteLine(message); #endif } |