Stream.Dispose Metod

Definition

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.

Gäller för