Bonjour,
J'ai a utiliser une librairie C/C++ écrites en utilisant les MFC (c'est donc relativement ancien) et je commence par réécrire le header dont j'ai besoin. Pour les constante classique en #define ca va. Je fais comme ceci:
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // en C, j'ai ca: #define DB_NUMMASK 0x00ff // en C# je fais ca: public const uint DB_NUMMASK = 0x00ff;
Donc ca se fait bien. En revanche lorsque j'ai des définition "inline" je ne peux pas mieux faire que de créer une fonction. Est-ce que il y a mieux ? Je fais comme ca:
J'ai ça dans le header C
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define DB_ATTR_NUM(attr) ((attr >> DB_NUMSHIFT) & DB_NUMMASK)
J'ai cherché a savoir si on pouvais faire des définition en ligne en C# comme en C. C'est ma question.
En attendant j'ai fait comme ca, en créant des fonctions dans une classe (dans laquelle j'ai toutes mes constantes de header). Comme ca:
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public long DB_ATTR_NUM( uint attr ) { return ( (long) ((attr >> (int) DB_NUMSHIFT) & DB_NUMMASK) ); }
Question: Est-ce que il y a mieux que de créer une fonction ? Autrement dit, peut-on faire en C# des déclarations inline comme en C ?
Merci.
Partager