7Fermer9
GoldenCrystalLe 05/01/2011 à 13:20
Comprend d'abord ce qu'est un handle tongue
Dans le cas de GCHandle c'est simple, un GCHandle est aussi un IntPtr (enfin plus ou moins à « quelques » détails près), comme tous les handle.
Et un GCHandle représente un objet CLR. Représente pas pointe, ni référence !
Comme tous les handle il peut être obtenu en sortie d'une fonction qui retourne ce type de handle, et passé en entrée d'une fonction qui accepte ce type de handle.
Les propriétés (Weak, WeakTraceResurrection, Normal et Pinned) affectées au GCHandle lors de sa création sont spécifiques à la gestion de mémoire de .NET, si tu ne comprends pas ces principes je te suggère de creuser de ce côté. (bis)
C'est une fonctionnalité assez bas niveau de l'environnement .NET, utile dans un nombre réduit de cas, et seulement si tu comprends la gestion mémoire ainsi que les problématiques qui lui sont associées.
De plus un exemple d'utilisation typique est fourni dans la documentation MSDN (bis) étudie-le, jusqu'à ce que tu le comprennes.