Share via


/define (Définition de préprocesseur) (Options du compilateur C#)

Mise à jour : Juillet 2008

L'option /define définit name comme un symbole dans tous les fichiers de code source de votre programme.

/define:name[;name2]

Arguments

  • name, name2
    Nom de chaque symbole que vous souhaitez définir.

Notes

L'option /define a le même effet qu'utiliser une directive de préprocesseur #define, sauf que l'option de compilateur est appliquée à tous les fichiers du projet. Un symbole reste défini dans un fichier source jusqu'à ce qu'une directive #undef dans le fichier source en supprime la définition. Lorsque vous utilisez l'option /define, une directive #undef dans un fichier n'a aucun effet sur les autres fichiers de code source du projet.

Vous pouvez utiliser les symboles créés par cette option avec #if, #else, #elif et #endif pour effectuer une compilation conditionnelle des fichiers sources.

/d est la forme abrégée de /define.

Pour définir plusieurs symboles avec l'option /define, séparez chaque nom de symbole par un point-virgule ou une virgule. Par exemple :

/define:DEBUG;TUESDAY

Le compilateur C# lui-même ne définit aucun symbole ou macro que vous pouvez utiliser dans votre code source ; toutes les définitions de symbole doivent être définies par l'utilisateur.

Remarque :

La directive C# #define ne permet de donner une valeur à un symbole, comme dans les langages tels que C++. Par exemple, #define ne peuvent pas être utilisés pour créer une macro ou définir une constante. Si vous devez définir une constante, utilisez une variable enum. Si vous souhaitez créer une macro de style C++, utilisez l'alternative que constituent les génériques. Comme les macros sont notoirement sujettes aux erreurs, C# n'autorise pas leur utilisation, mais fournit des solutions plus sûres.

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la page Propriétés du projet.

  2. Dans l'onglet Générer, tapez le symbole à définir dans la zone de texte Symboles de compilation conditionnelle. Par exemple, si vous utilisez l'exemple de code qui suit, tapez seulement xx dans la zone de texte.

Pour plus d'informations sur la définition de cette option du compilateur par programme, consultez DefineConstants.

Exemple

// preprocessor_define.cs
// compile with: /define:xx
// or uncomment the next line
// #define xx
using System;
public class Test 
{
    public static void Main() 
    {
        #if (xx) 
            Console.WriteLine("xx defined");
        #else
            Console.WriteLine("xx not defined");
        #endif
    }
}

Voir aussi

Autres ressources

Options du compilateur C#

Propriétés de projet (Visual Studio)

Historique des modifications

Date

Historique

Raison

Juillet 2008

Révision des informations de la section Notes pour indiquer que l'option est activée pour tous les fichiers jusqu'à ce qu'une directive #undef soit trouvée.

Résolution des bogues de contenu.