J'essaie d'adapter une classe pour travailler avec juste fini que je ne peux pas résoudre le problème. Ma question est comment identifier le handle pour fermer// CloseHandle (handle). Mon problème est que je ne suis pas capable d'adapter le code suivant.IDisposable
for (Int32 i = 0; i < temp_items.Count; i++)
{
string conj_itens = temp_itens[i].ToString();
ContarSuporte cs= new ContarSuporte(matriz_bin,strExpr);
_cont = cs.Suporte;
If (_cont>100)
{
list.add(conj_itens);
}
}
public class ContarSuporte: IDisposable
{
private int _cont;
private bool disposed = false;
private IntPtr handle;
public ContarSuporte()
{
}
public ContarSuporte(DataTable matriz_binaria, string strExpr)
{
int c = matriz_binaria.Rows.Count;
this._cont = (int)(matriz_binaria.Compute("COUNT(TID)", strExpr));
}
~ContarSuporte()
{
Dispose(false);
}
public void Dispose()
{
//GC.Collect();
Dispose(true);
GC.SuppressFinalize(this);
// GC.Collect();
}
private void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
//this.Dispose();
}
//CloseHandle(handle);
handle = IntPtr.Zero;
}
disposed = true;
}
public int Suporte
{
get
{
return _cont;
}
set
{
_cont =value;
}
}
Merci pour les réponses, le problème est ici, et crée de beaucoup dans de nombreux passages LOPP faites par les données poubelle en mémoire que je ne suis pas en mesure de contrôler, comment puis-je contrôler this this._cont = (int) (matriz_binaria.Compute ("COUNT (TID)", strExpr)); –
La création d'un grand nombre d'objets en mémoire n'est pas du tout la même chose que d'avoir besoin d'IDisposable ou de handles. Encore une fois: avez-vous des ressources * non gérées * dont vous devez disposer? –