Abschluss und entsorgen Sie Methoden in C#: Wann und wie kann ich diese Methoden verwenden?
Die Methode (oder Destruktor) abschließen, ruft das Objekt automatisch auf, wenn die Objektanordnung (GC) zerstört wird. Der Hauptzweck besteht darin, nicht -hopfende Ressourcen wie Dateihandle oder Netzwerkverbindung freizugeben.
Andererseits bietet die Entsendungsmethode einen Kontrollmechanismus zur Freigabe von Sorgerechts- und nicht hohen Ressourcen. Wenn ein Objekt nicht mehr benötigt wird, sollte es angezeigt werden.
Implementierung endgültig
Nur wenn Ihre Klasse nicht -Kunden -Ressourcen verwendet, kann die Methode abgeschlossen werden. Andernfalls folgen Sie dem empfohlenen Modus:
Um
<code class="language-csharp">public sealed class MyManagedClass : IDisposable { public void Dispose() { // 释放托管资源 } }</code>
Wenn Ihre Klasse nicht -hosting -Ressourcen verwendet, verwenden Sie bitte den folgenden Modus:
Die Verantwortung des Kunden
<code class="language-csharp">public class MyUnManagedClass : IDisposable { public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (disposing) { // 释放托管资源 } // 释放非托管资源 } }</code>
Ja, Webclient implementiert idisposable, da es nicht hosting Ressourcen verwendet. Um festzustellen, ob die Klasse nicht -hohe Ressourcen verwendet, überprüfen Sie ihre Dokumente oder verwenden Sie Tools wie ILSPY, um die Implementierung zu überprüfen.
<code class="language-csharp">using (MyUnManagedClass obj = new MyUnManagedClass()) { // 使用对象 }</code>
Das obige ist der detaillierte Inhalt vonFenden Sie ab vs. entsorgen in C#: Wann und wie kann ich diese Methoden verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!