Les directives de pre-processing

Contenu du snippet

Voici de petits trucs qui permettent de réaliser un code à mon avis plus clair de programmation en C# :
#define et #undef : Ces directives permettent de définir des symboles de compilation conditionnelle. Attention, #define ne permet pas de définir des abbréviation comme en c pur.

#if, #elif, #else, and #endif : effectue une compilation conditionnelle. Seul un partie du code sera compilé.

#error and #warning : permettent d'afficher des message d'erreur ou d'avertissement à la compilation.

#region and #endregion : permettent de définir des région de code. Elles peuvent être imbriquées. Cette otpion est particulièrement avec VS.Net, car on peut d'un clic sur le coté, réduire toute la région. A utiliser pour un code clair.

#line : permet de redéfinir les numéro de ligne. Je ne vois personnellement pas l'intéret.

Source / Exemple :


/*DEBUG est défini par défaut par VS.NET en mode debug.*/
#if DEBUG
/*Code à effectuer seulement en DEBUG, message d'erreur ou d'exception, etc*/
...
/* Le messagesuivant ne sera affiché que lors d'une compilation en DEBUG*/
#warning Compiled in debug mode	
#else
/*Si il y a du code a effectuer seulement dans la version finale*/
#endif

/*pour ne pas effectuer les tests, enlever ligne suivante.*/
#define TEST
#if TEST
/*Batterie de tests a effectuer*/
#endif

#region Properties
/*mettre les propriétés de la classe ici.*/
#endregion

#region methods
#region private methods
/*mettre les méthodes privées ici*/
#endregion

#region public methods
/*mettre les méthodes publiques ici*/
#endregion
#endregion

Conclusion :


Voilà. A retenir :
#if DEBUG combiné avec #warning permet d'effectuer du code lors de la phase de développement. ce code sera dans la source, mais pas exécuté en Release. Le warning est là pour ne pas oublier de remettre en mode Release pour la version finale.

#region : personnellement, c'est un moyen simple et efficace d'organiser son code, il aidera grandement ceux qui devraient peut-être le retoucher.

En espérant que ceci vous aidera,
SharpMao

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.