Ahora mi problema está en que también quisiera liberar objetos que NO son IDisposable como también variables que pueda llegar a utilizar.
Posiblemente no me esté explicando correctamente, por lo que les dejo un ejemplo marcando en rojo donde esta mi problema:
Código:
Tengo entendido que el recolector de basura tarde o temprano elimina los recursos administrados, pero ya que implemento tantos metodos para tratar este problema, me gustaría también poder liberar los objetos que no cumplen con la interfaz IDiposable.public class clasePrueba: IDisposable { // Creo el recurso NO administrado private Component miComponent; // Creo el recurso administrado private DataSet dSet; public int variable; private bool disposed=false; public BaseResource() { /* ... */ } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if(!this.disposed) { if(disposing) { // Libero recursos administrados ¿Como hago para liberar al objeto dSet y a la variable que declaré? } // Aca libero los recursos NO administrados con un simple Dispose() miComponent.Dispose(); } disposed=true; } ~BaseResource() { Dispose(false); } }
Espero haberme dado a entender.
Se les agradece de antemano cualquier ayuda. Saludos!