« Symboles de compilation conditionnelle » : différence entre les versions
Apparence
Page créée avec « =Utilisation dans le code= {| !style="padding: 0 10px 0 0"| 40px | <syntaxhighlight lang="csharp"> // les #define doivent être les premières instruction... » |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
=Utilisation dans le code= | [[Category:CSharp]] | ||
= Utilisation dans le code = | |||
<kode lang="csharp"> | |||
< | |||
// les #define doivent être les premières instructions du fichier avant les using et namespace | // les #define doivent être les premières instructions du fichier avant les using et namespace | ||
#define MYTEST | #define MYTEST | ||
Ligne 26 : | Ligne 24 : | ||
} | } | ||
} | } | ||
</ | </kode> | ||
=Activation d'un symbole= | = Activation d'un symbole = | ||
*<syntaxhighlight lang= | * <syntaxhighlight lang='' inline>#define</syntaxhighlight> | ||
*Propriétés du projet | * Propriétés du projet → Générer → Symboles de compilation conditionnelle | ||
=Attribut de méthode Conditional= | = Attribut de méthode Conditional = | ||
{{boxx|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.<br/> | |||
RELEASE n'existe pas, il faut utiliser !DEBUG. | {{boxx|RELEASE}} n'existe pas, il faut utiliser {{boxx|!DEBUG}}. | ||
<kode lang="csharp"> | |||
< | |||
// Les appels à la méthode Message seront ignoré | // Les appels à la méthode Message seront ignoré | ||
// si la compilation n'a pas été réalisée dans le mode DEBUG. | // si la compilation n'a pas été réalisée dans le mode DEBUG. | ||
Ligne 52 : | Ligne 46 : | ||
#endif | #endif | ||
} | } | ||
</ | </kode> | ||
Version du 9 avril 2020 à 16:50
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
- 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
}
|