J'ai une question de fuite de mémoire. Est-ce que les instances d'obj seront éligibles pour la récupération de place jusqu'à ce que l'instance de classe de TopClass soit hors de portée?Est-ce que cela cause une fuite de mémoire (dans .NET)?
public class TopClass
{
public void MyFunction()
{
TestClass obj = new TestClass();
obj.PropertyChanged += (s,e) => { //Do some code };
obj = null;
}
}
En outre cela que tous les objets qui instancient un TopClass et invoquer MyFunction() pour ne pas être admissible à droite GC?
Je comprends que dans le code managé une fois que l'application est hors de portée, tous les objets sont éligibles, mais je veux savoir que lorsque mon application est en cours d'exécution, cela causera une fuite de mémoire. Droite?
Oui, l'instance TestClass peut être collectée juste après (ou même pendant) l'appel à MyFunction. – Steven