« Guide du C++ pour .NET Programmation » : différence entre les versions

francisation
m (Managed C Plus Plus Guide : Chapitre 2 Programmation déplacé vers Guide du C++ pour .NET Programmation: titre francisé + conforme aux recommandations wikibooks)
(francisation)
<!-- = La programmation en C++ Managé = -->
{| align="center" border="0" width="100%"
| bgcolor="#959595" align="center" colspan="2" | Guide de Programmation en C++ Managépour .NET <br /> '''Chapitre 2 : Programmation en C++ Managépour .NET'''
|-
| style="background-color:#B0D0F0" width="50%" align="left" |[[ManagedGuide du C++ Pluspour Plus Guide : Chapitre 1.NET Configuration |<< Chapitre 1 : Configuration de Visual Studio .NET]]
| style="background-color:#B0D0F0" width="50%" align="right" | [[ManagedGuide du C++ Pluspour Plus Guide.NET| retour au sommaire >>]]
|}
 
code bien plus lisible.
 
On notera que cela n'est faisable qu'en MCC++ pour .NET, et pas en C# car ce dernier langage est dépourvu de macro.
(en C# la classe Marshal est bien sur toujours utilisable).
 
</pre>
 
Il est fortement conseillé de créer une Macro dans un fichier ''header'' :
 
<pre>
</pre>
 
De la même façon que précédemment, on pourra créer des macros :
 
<pre>
</pre>
 
et les utiliser ainsi :
 
<pre>
</pre>
 
= Les structures de données managées.NET ou non =
 
Les structures '''« non managées »''' sont du domaine du C++ classique, donc sans plate-forme .NET, et donc inaccessibles à
partir de classes C#.
 
Les structures '''« managées »''', quant à elles, sont des éléments qui pourront être accessibles.
 
Le C++ Managépour .NET permet une utilisation des deux types de structures de données. Il est donc nécessaire dans ce
langage de déclarer explicitement qui est managé et qui ne l'est pas, grâce aux mots-clé '''__gc''' et '''__nogc'''.
 
== Déclarer une classe __gc ou __nogc ==
 
Une classe « managée » sera déclarée ainsi :
<pre>
public __gc class MaClasseManagee {
</pre>
 
De même pour une classe « non managée » :
<pre>
public __nogc class MaClasseNonManagee {
...
}
</pre>
== Déclarer un enum __gc ou ___nogc ==
 
De la même manière on déclare un type énuméré avec '''__gc pour « managé »''' et '''__nogc pour « non managé »''':
<pre>
public __gc enum Couleur = { ROUGE, ORANGE, VERT };
== Déclarer un tableau __gc ou __nogc ==
 
De la même manière on déclare un tableau avec '''__gc pour « managé »''' et '''__nogc pour « non managé »''':
<pre>
public String __gc[3] CouleursList = { "Rouge", "Orange", "Vert" };
</pre>
 
= Les librairiesbibliothèques managées.NET ou non =
 
== L'ordre d'inclusion des librairiesbibliothèques ==
 
Quelques ambiguïtés malheureuses peuvent apparaître si le principe suivant n'est pas respecté :
 
'''l'inclusion des fichiers header « non managés » est PRIORITAIRE'''
 
Sinon vous risquez de voir apparaître des erreurs au milieu de fichiers sources inconnus, dont la
13 736

modifications