Debug.Flush Metoda

Definice

Vyprázdní výstupní vyrovnávací paměť a způsobí zápis dat do vyrovnávací paměti do Listeners kolekce.

public:
 static void Flush();
[System.Diagnostics.Conditional("DEBUG")]
public static void Flush();
[<System.Diagnostics.Conditional("DEBUG")>]
static member Flush : unit -> unit
Public Shared Sub Flush ()
Atributy

Příklady

Následující příklad vytvoří pojmenovaný TextWriterTraceListenermyTextListener. myTextListener FileStream používá volána myFileStream k zápisu do souboru s názvem TestFile.txt. Příklad vytvoří datový proud, otevře soubor, pokud existuje nebo vytvoří nový, zapíše do souboru jeden řádek textu a pak vyprázdní a zavře výstup.

// Specify /d:DEBUG when compiling.

using System;
using System.IO;
using System.Diagnostics;

class Test
{
    static void Main()
    {
        // Create a new stream object for an output file named TestFile.txt.
        using (FileStream myFileStream =
            new FileStream("TestFile.txt", FileMode.Append))
        {
            // Add the stream object to the trace listeners.
            TextWriterTraceListener myTextListener =
                new TextWriterTraceListener(myFileStream);
            Debug.Listeners.Add(myTextListener);

            // Write output to the file.
            Debug.WriteLine("Test output");

            // Flush and close the output stream.
            Debug.Flush();
            Debug.Close();
        }
    }
}
' Specify /d:DEBUG=True when compiling.

Imports System.IO
Imports System.Diagnostics

Class Test
    
    Shared Sub Main()
    
        ' Create a new stream object for an output file named TestFile.txt.
        Using myFileStream As New FileStream("TestFile.txt", FileMode.Append)
        
            ' Add the stream object to the trace listeners. 
            Dim myTextListener As New TextWriterTraceListener(myFileStream)
            Debug.Listeners.Add(myTextListener)
            
            ' Write output to the file.
            Debug.WriteLine("Test output")
            
            ' Flush and close the output stream.
            Debug.Flush()
            Debug.Close()
        
        End Using
        
    End Sub

End Class

Poznámky

Vyprázdnění datového proudu nevyprázdní jeho podkladový kodér, pokud explicitně nezavoláte Flush nebo Close. Nastavení AutoFlush znamená true , že se data vyprázdní z vyrovnávací paměti do datového proudu, ale stav kodéru se nevyprázdní. Kodér tak může zachovat svůj stav (částečné znaky), aby mohl správně zakódovat další blok znaků. Tento scénář má vliv na UTF8 a UTF7, kde se určité znaky dají zakódovat až po přijetí sousedního znaku nebo znaků kodérem.

Platí pro

Viz také