C sharp - ¿ clear() borra también los objetos de una lista?

 
Vista:

¿ clear() borra también los objetos de una lista?

Publicado por Fernando (1 intervención) el 23/02/2008 16:23:23
Hola a todos,

pongamos que tengo una clase llamada A en la que implemento la interfaz IDisposable para cuando toque realizar la limpieza de los objetos creados de ese tipo.
Luego tengo una clase B que también implementa la misma interfaz y que contiene una lista de objetos de la clase A 'List<A>. Cuando se ejecute el método Dispose() de la clase B, quiero eliminar la lista de objetos de tipo A. La pregunta es la siguiente:

Teniendo en cuenta que una lista lo que guarda son referencias a los objetos.

¿El método Clear() de la lista borra únicamente estas referencias? ¿ Elimina de la memoria además los objetos a los cuales apuntan esas referencias?

Si solo borra las referencias, la opción que he pensado es meter la lista en un bucle y recorrerla llamando al método Dispose() de cada objeto de clase A que contenga, luego invocar a Clear() para eliminar las referencias de la lista y posteriormente asignarle null.

He mirado en la msdn la información disponible sobre Clear() pero no deja claro si elimina referencias o referencias+objetos apuntados porque habla en todo momento de 'items'.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder