begin process at 2012 02 11 02:07:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > LES DIRECTIVES DE PRE-PROCESSING

LES DIRECTIVES DE PRE-PROCESSING


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Source .NET ( DotNet ) Classé sous :preprocessing Niveau :Initié Date de création :05/02/2004 Date de mise à jour :05/02/2004 13:25:47 Vu :9 476

Auteur : SharpMao

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

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

  • /*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
/*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


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) DEEPZOOMAPI
Source avec Zip Source avec une capture Source .NET (Dotnet) LECTURE LIGNE PAR LIGNE DE LA SORTIE STANDARD D'UN PROGRAMME...
Source avec Zip Source avec une capture Source .NET (Dotnet) EDITEUR HEXADÉCIMAL
Source avec Zip Source avec une capture Source .NET (Dotnet) GÉNÉRATION D'ÉVÈNEMENT À LA FIN D'UN THREAD
Source avec une capture Source .NET (Dotnet) VISUALISATION DES CLASSES DU FRAMEWORK

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) AFFICHAGE DE VALEUR PROVENANT D'U THREAD DANS UN FORMULAIRE par Nyuki
Source avec Zip Source avec une capture Source .NET (Dotnet) DESIGNER DE WORKFLOW WF4 WPF AVEC RIBBON OFFICE par jmenfous
Source avec Zip Source .NET (Dotnet) ENT LIB - VALIDATION BLOC DEMO par bernie666
Source avec Zip Source .NET (Dotnet) CRÉER UN ADDIN AUTOMATION POUR EXCEL par ShareVB
Source .NET (Dotnet) XML VERS TREENODE / TREENODE VERS XML par ip2x

Commentaires et avis

Commentaire de Crazyht le 06/02/2004 00:06:58 administrateur CS

Il est a noté aussi la presence de la definition TRACE definit en Debug comme en Release par VS.NET.

Et le code entre #if DEBUG .... #endif ne sera meme pas présent dans le code generé en release. Ce qui reduit encore un peu  ca taille, enfin pour les gens comme moi qui en mettent partout pour le debug :)

@++
CrazyHT

Commentaire de Zeroc00l le 05/09/2007 21:05:02

#line est souvent utilisée pour le code généré.
En effet lorsqu'un programme analyse un fichier pour générer du code,
si le fichier d'entré est erroné, le code généré l'est aussi.
Dans ce cas le compilateur utilise la ligne courante et le nom du fichier en cours de compilation
pour indiquer l'erreur.
Il est donc intéressant d'indiquer l'erreur dans le fichier d'entré,
à l'endroit responsable de la mauvaise génération,
plutôt qu'un endroit obscure dans du code généré ...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales