Stream.Dispose Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Frigör alla resurser som används av Stream objektet.
Överlagringar
| Name | Description |
|---|---|
| Dispose() |
Släpper alla resurser som används av Stream. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av Stream och släpper eventuellt de hanterade resurserna. |
Dispose()
- Källa:
- Stream.cs
- Källa:
- Stream.cs
- Källa:
- Stream.cs
- Källa:
- Stream.cs
- Källa:
- Stream.cs
Släpper alla resurser som används av Stream.
public:
virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
Implementeringar
Kommentarer
Den här metoden gör dataströmmen borttagen genom att skriva eventuella ändringar i lagringsplatsen och stänga strömmen för att frigöra resurser.
Med anrop Dispose kan de resurser som används av Stream omallokeras för andra ändamål. Mer information om Disposefinns i Rensa ohanterade resurser.
Anteckningar till arvingar
Placera all rensningslogik för dataströmobjektet i Dispose(Boolean). Åsidosätt Close()inte .
Observera att på grund av bakåtkompatibilitetskrav skiljer sig den här metodens implementering från den rekommenderade vägledningen för mönstret Kassera. Den här metoden anropar Close(), som sedan anropar Dispose(Boolean).
Gäller för
Dispose(Boolean)
- Källa:
- Stream.cs
- Källa:
- Stream.cs
- Källa:
- Stream.cs
- Källa:
- Stream.cs
- Källa:
- Stream.cs
Släpper de ohanterade resurser som används av Stream och släpper eventuellt de hanterade resurserna.
protected:
virtual void Dispose(bool disposing);
protected virtual void Dispose(bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)
Parametrar
- disposing
- Boolean
true för att frigöra både hanterade och ohanterade resurser; false för att endast frigöra ohanterade resurser.
Kommentarer
Du bör frigöra alla resurser genom att true ange för disposing. När disposing är truekan strömmen också se till att data rensas till den underliggande bufferten och få åtkomst till andra slutgiltiga objekt. Detta kanske inte är möjligt när det anropas från en finalizer på grund av bristande ordning bland finalizers.
Om dataströmmen använder ett operativsystemhandtag för att kommunicera med källan bör du överväga att använda en underklass av SafeHandle för detta ändamål.
Den här metoden anropas av den offentliga Dispose() metoden och metoden, om den Finalize() har åsidosatts.
Dispose()anropar den skyddade Dispose metoden med parametern inställd på disposingtrue .
Finalize anropar Dispose med disposing inställt på false.
Anteckningar till arvingar
I härledda klasser åsidosätter Close() du inte metoden, utan placerar i stället all Stream-rensningslogik i Dispose(Boolean) -metoden.
Dispose() kan anropas flera gånger av andra objekt. När du åsidosätter Dispose(Boolean)bör du vara noga med att inte referera till objekt som tidigare har tagits bort i ett tidigare anrop till Dispose(). Mer information om hur du implementerar Dispose(Boolean)finns i Implementera en avyttringsmetod.
Mer information om Dispose() och Finalize()finns i Rensa ohanterade resurser.