98 votes

Adresse mémoire d’un objet en C #

J’ai une fonction écrite il y a quelque temps (pour .NET 3.5), et maintenant que j’ai mis à niveau vers 4.0

Je n’arrive pas à le faire fonctionner.

La fonction est la suivante :

Maintenant, quand je l’appelle - MemoryAddress.Get(nouvelle voiture(« bleu »))

J’obtiens l’erreur :

L’objet contient des données non primitives ou non blittables.

Pourquoi cela ne fonctionne-t-il plus?

Comment puis-je maintenant obtenir l’adresse mémoire des objets gérés ?

29voto

SLaks Points 391154

Au lieu de ce code, vous devez appeler ``, qui renverra une valeur unique (espérons-le) pour chaque instance.

Vous pouvez également utiliser la `` classe, qui est garantie d’être unique.

8voto

MulleDK19 Points 117

Voici un moyen simple que j’ai trouvé qui n’implique pas de code dangereux ou d’épinglage de l’objet. Fonctionne également en sens inverse (objet de l’adresse):

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X