Pour une propriété dans ViewModel, une propriété peut être définie comme (C#): private MyClass _myclass;Comment nettoyer la mémoire pour la propriété?
public MyClass Myclass{
get { return _myclass;}
set {
if(value!=_myclass)
{
_myclass = value
RaisePropertyChanged("Myclass");
// do something else.....
}
}
}
Ensuite, je veux libérer la mémoire lorsque l'instance n'est plus utilisée. Quelle est la bonne façon?
_myclass = null;
RaisePropertyChanged("Myclass");
ou
Myclass = null;
ou
_myclass = null;
Myclass = null;
Faites-en une IDisposable? – BoltClock
Oui, c'est ce que je veux. – KentZhou
Si l'instance n'est plus utilisée (tout code ne la référencera pas) elle sera GCed automatiquement donc vous n'avez pas besoin d'assigner 'null' vous-même, si MyClass utilise des ressources comme les fichiers implémentent IDisposable et disposent explicitement – sll