2009-04-02 3 views
2
IndentedTextWriter tw = new IndentedTextWriter(internalTW, " "); 

Objekt von ‚tw‘ bezeichnet verloren, aber miteinander verbundene Ressourcen sind hier nicht „TW“ angeordnet ist ein Texter, wo internalTW ist ein TextwriterObjektreferenzen verloren, aber die gehaltenen Ressourcen zurückgehalten werden

OleDbConnection con = new OleDbConnection(conStr); 
OleDbCommand cmd = new OleDbCommand(cmd1, con); 

Objekt von 'cmd' bezeichnet ist verloren, aber miteinander verbundene Ressourcen sind hier nicht entsorgt

Antwort

3

Versuchen

using (IndentedTextWriter tw = new IndentedTextWriter(internalTW, " ")) { 
    // use it here 
} 

resp.

using (OleDbConnection con = new OleDbConnection(conStr)) 
using (OleDbCommand cmd = new OleDbCommand(cmd1, con)) { 
    // use it here 
} 

Am Ende des using Block wird Dispose() auf die Objekte genannt und die Ressourcen befreit ...

3

Die Typen alle IDisposable implementieren und damit es ist werden sollte in der Verantwortung des Anrufers Rufen Sie Dispose() wie zB

using(var tw = new IndentedTextWriter(internalTW, " ")) { 
    // do something with tw 
} 

oder durch explizites Dispose() in einem finally Block aufrufen.

Verwandte Themen