Stream.Close Metodo

Definizione

Chiude il flusso corrente e libera le risorse, come socket e handle di file, ad esso associate. Anziché chiamare questo metodo, assicurarsi che il flusso sia eliminato correttamente.

public:
 virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()

Commenti

Questo metodo chiama Dispose, specificando per rilasciare true tutte le risorse. Non è necessario chiamare specificamente il Close metodo. Assicurarsi invece che ogni Stream oggetto venga eliminato correttamente. È possibile dichiarare Stream gli oggetti all'interno di un using blocco (o Using un blocco in Visual Basic) per assicurarsi che il flusso e tutte le relative risorse vengano eliminate oppure chiamare in modo esplicito il Dispose metodo.

Lo scaricamento del flusso non scarica il codificatore sottostante, a meno che non si chiami in modo esplicito un'implementazione di Flush o Close. L'impostazione AutoFlush indica true che i dati verranno scaricati dal buffer al flusso, ma lo stato del codificatore non verrà scaricato. Ciò consente al codificatore di mantenere lo stato (caratteri parziali) in modo che possa codificare correttamente il blocco successivo di caratteri. Questo scenario influisce su UTF8 e UTF7 in cui alcuni caratteri possono essere codificati solo dopo che il codificatore riceve il carattere o i caratteri adiacenti.

I tentativi di modifica del flusso dopo la chiusura del flusso potrebbero generare un ObjectDisposedExceptionoggetto .

Note per gli eredi

Nelle classi derivate non eseguire l'override del metodo, invece, inserire tutta la Close()Stream logica di pulizia nel Dispose(Boolean) metodo . Per altre informazioni, vedere Implementazione di un metodo Dispose.

Si applica a

Vedi anche