pour la 100000 ème fois : comment libérer la mémoire ?
2 réponses
Michael Moreno
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent
être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le
restaure, je n'ai plus besoin de cette copie. La copie fait partie de
ma classe de sorte à ce que l'appelant n'ait pas besoin de gérer les
copies lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la
destruction de l'objet principal cela veut dire que j'aurai constamment
2 objets au lieu d'un. Pas cool du tout !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Bacelar
Si ton objet copy implémente IDisposable, appel sa méthode dispose puis tu "nullifies" sa référence.
public class toto: IDisposable{ toto m_copy = null; ... void Dispose(){...} void restore(){ if(m_copy!=null){ m_copy.Dispose(); m_copy=null; } } } -- Paul Bacelar
"Michael Moreno" wrote in message news:
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le restaure, je n'ai plus besoin de cette copie. La copie fait partie de ma classe de sorte à ce que l'appelant n'ait pas besoin de gérer les copies lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la destruction de l'objet principal cela veut dire que j'aurai constamment 2 objets au lieu d'un. Pas cool du tout !
Merci.
-- Drakkhen
http://michael.moreno.free.fr/
Si ton objet copy implémente IDisposable, appel sa méthode dispose puis tu
"nullifies" sa référence.
public class toto: IDisposable{
toto m_copy = null;
...
void Dispose(){...}
void restore(){
if(m_copy!=null){
m_copy.Dispose();
m_copy=null;
}
}
}
--
Paul Bacelar
"Michael Moreno" <michael.Enlever.ce.Bout.Moreno@free.fr> wrote in message
news:mn.d9c37d4b7d58123f.10274@free.fr...
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent
être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le
restaure, je n'ai plus besoin de cette copie. La copie fait partie de
ma classe de sorte à ce que l'appelant n'ait pas besoin de gérer les
copies lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la
destruction de l'objet principal cela veut dire que j'aurai constamment
2 objets au lieu d'un. Pas cool du tout !
Si ton objet copy implémente IDisposable, appel sa méthode dispose puis tu "nullifies" sa référence.
public class toto: IDisposable{ toto m_copy = null; ... void Dispose(){...} void restore(){ if(m_copy!=null){ m_copy.Dispose(); m_copy=null; } } } -- Paul Bacelar
"Michael Moreno" wrote in message news:
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le restaure, je n'ai plus besoin de cette copie. La copie fait partie de ma classe de sorte à ce que l'appelant n'ait pas besoin de gérer les copies lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la destruction de l'objet principal cela veut dire que j'aurai constamment 2 objets au lieu d'un. Pas cool du tout !
Merci.
-- Drakkhen
http://michael.moreno.free.fr/
Sylvain Lafontaine
En addition à ce qu'a dit P. Bacelar; vous devriez retourner directement la copie à la fonction appelante lors de la restauration (avec, si nécessaire, un appel à Dispose() sur l'ancienne copie).
S. L.
"Michael Moreno" wrote in message news:
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le restaure, je n'ai plus besoin de cette copie. La copie fait partie de ma classe de sorte à ce que l'appelant n'ait pas besoin de gérer les copies lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la destruction de l'objet principal cela veut dire que j'aurai constamment 2 objets au lieu d'un. Pas cool du tout !
Merci.
-- Drakkhen
http://michael.moreno.free.fr/
En addition à ce qu'a dit P. Bacelar; vous devriez retourner directement la
copie à la fonction appelante lors de la restauration (avec, si nécessaire,
un appel à Dispose() sur l'ancienne copie).
S. L.
"Michael Moreno" <michael.Enlever.ce.Bout.Moreno@free.fr> wrote in message
news:mn.d9c37d4b7d58123f.10274@free.fr...
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent
être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le
restaure, je n'ai plus besoin de cette copie. La copie fait partie de ma
classe de sorte à ce que l'appelant n'ait pas besoin de gérer les copies
lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la
destruction de l'objet principal cela veut dire que j'aurai constamment 2
objets au lieu d'un. Pas cool du tout !
En addition à ce qu'a dit P. Bacelar; vous devriez retourner directement la copie à la fonction appelante lors de la restauration (avec, si nécessaire, un appel à Dispose() sur l'ancienne copie).
S. L.
"Michael Moreno" wrote in message news:
Bonjour,
Je suis en train de créer des classes "Property" nullables qui peuvent être temporairement modifier puis restaurer.
Quand l'objet est temporairement sauvé, je crée une copie. Quand je le restaure, je n'ai plus besoin de cette copie. La copie fait partie de ma classe de sorte à ce que l'appelant n'ait pas besoin de gérer les copies lui-même.
Comment détruire explicitement cette copie ? Si je dois attendre la destruction de l'objet principal cela veut dire que j'aurai constamment 2 objets au lieu d'un. Pas cool du tout !