GCHandle pour obtenir une adresse(pointeur).net objet

J'ai réussi à obtenir l'adresse d'un .net de l'objet par

GCHandle objHandle = GCHandle.Alloc(obj,GCHandleType.WeakTrackResurrection);
int address = GCHandle.ToIntPtr(objHandle).ToInt32();  

et je me souviens de l'objet par

Object obj = GCHandle.FromIntPtr(IntPtr(address)).Target;

Bien, le but est de stocker l'adresse dans une classe native et de disposer d'une information dont l'objet natif est releated à qui .nette de l'objet.
Autant que je sache, l'adresse ne change pas, parce que de allocing, est-il vrai ou est-ce quelqu'un a une meilleure idée de servir mon but?

Grâce

est-il possibilité de définir la valeur de "épinglé objet" comme : GCHandle.FromIntPtr(IntPtr(adresse)).Target = myNewObject ??
Je ne sais pas si il est légal pour définir la Target de la propriété. Pourquoi ne pas demander?

OriginalL'auteur ali_bahoo | 2010-11-04