Ich würde gerne wissen, wann ich Dinge in einen USING Block verpacken sollte und sollte.C# USING Schlüsselwort - wann und wann nicht?
Von dem, was ich verstehe, übersetzt der Compiler es in ein try/schließlich, wo die schließlich Dispose() auf das Objekt aufruft.
Ich benutze immer ein USING um Datenbankverbindungen und Dateizugriff, aber es ist eher aus Gewohnheit als ein 100% Verständnis. Ich weiß, dass Sie (oder mit einer Verwendung) Dispose() Objekte, die Ressourcen kontrollieren, sollten, um sicherzustellen, dass sie sofort freigegeben werden, anstatt wann immer die CLR sich anfühlt, aber das ist, wo mein Verständnis zusammenbricht.
Werden IDisposables nicht gelöscht, wenn sie den Gültigkeitsbereich verlassen?
Muss ich nur ein USING verwenden, wenn mein Objekt Dispose verwendet, um sich aufzuräumen?
Dank
Edit: Ich weiß, dass es ein paar andere Beiträge über das Schlüsselwort USING sind, aber ich bin mehr in den Antworten interessiert die die CLR im Zusammenhang und genau was intern
Andrew
los
Und wenn Sie diese Technik verwenden, bitte, bitte, vergessen Sie nicht die '#if DEBUG'. Das sind Sie, ich denke an JetBrains, mit Ihren 30000 Objekten in der Finalizer-Warteschlange von Visual Studio ... –
Oh, das ist bedauerlich. –
+1, ich wünschte, ich könnte mehr tun als 1 Stimme nach oben: p ... exzellentes Wissen wird auf Stackoverlow geteilt .... es ist einfach toll ... –