Bonsoir,

Je vous soumet le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma managed
//Une "ref class" classeC quelconque
ref class classeC
{
...
}
 
//Une "ref class" classeB contenant un objet C
ref class classeB
{
   classeC ^  monC;
}
 
 
//une classe classA non managée contenant un objet B
class classeA 
{
...
gcroot<classeB ^> ^ monB;
}
Donc j'ai classeA contenant classeB contenant classeC.
Comme classeA n'est pas managé, je dois utiliser gcroot pour utiliser monB.

Mais ma question est la suivante :
Comme monB, appelé par monA, contient monC; monC doit-il être créé en gcroot ou non ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ref class classeB
{
   classC ^  monC ;
}
ou

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ref class classeB
{
   gcroot<classC ^>  ^ monC ;
}
Une idée ?