Destructores y Dispose

28/10/2005 - 08:40 por solusoft | Informe spam
Hola a todos,

tengo una clase Conexion, un recubrimiento de Connection de ADO.NET y hay
ocasiones que se producen errores en la destrucción del objeto. En modo Debug
aparecen errores de base de datos: No se ha inicializado el identificador o
similar.

tengo este código en mi clase Conexion

public void Dispose()
{
//System.GC.Collect();
//System.GC.SuppressFinalize(this);
}

/// <summary>
/// Destructor
/// </summary>
~Conexion()
{
if (this.ConexionBaseDatos != null)
this.ConexionBaseDatos.Dispose();
this.ConexionBaseDatos=null;
}


Qué podría hacer para solucionarlo ? Debo quitar el destructor ??

Gracias.
 

Leer las respuestas

#1 Miguel Ortiz Falcón
29/10/2005 - 06:42 | Informe spam
Bien, no se realmente con que finalidad uses esa clase, para detectar cual
sería la mejor propuesta para implementarla, pero asi "a secas" (y asumiendo
que quieres que deje de existir en cuanto salga del ámbito) deberías dejar
sólo el destructor y complementarlo por ejemplo checando si la conexión está
abierta cerrarla antes de llamar a Dispose()

Saludos...!

Miguel Ortiz Falcón



"solusoft" wrote:

Hola a todos,

tengo una clase Conexion, un recubrimiento de Connection de ADO.NET y hay
ocasiones que se producen errores en la destrucción del objeto. En modo Debug
aparecen errores de base de datos: No se ha inicializado el identificador o
similar.

tengo este código en mi clase Conexion

public void Dispose()
{
//System.GC.Collect();
//System.GC.SuppressFinalize(this);
}

/// <summary>
/// Destructor
/// </summary>
~Conexion()
{
if (this.ConexionBaseDatos != null)
this.ConexionBaseDatos.Dispose();
this.ConexionBaseDatos=null;
}


Qué podría hacer para solucionarlo ? Debo quitar el destructor ??

Gracias.

Preguntas similares