IndentedTextWriter Klass
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.
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken.
public ref class IndentedTextWriter : System::IO::TextWriter
public class IndentedTextWriter : System.IO.TextWriter
type IndentedTextWriter = class
inherit TextWriter
Public Class IndentedTextWriter
Inherits TextWriter
- Arv
Exempel
Följande kodexempel visar hur du använder en IndentedTextWriter för att skriva text på olika indragsnivåer.
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.IO;
using System.Windows.Forms;
namespace IndentedTextWriterExample
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox1;
private string CreateMultilevelIndentString()
{
// Creates a TextWriter to use as the base output writer.
System.IO.StringWriter baseTextWriter = new System.IO.StringWriter();
// Create an IndentedTextWriter and set the tab string to use
// as the indentation string for each indentation level.
System.CodeDom.Compiler.IndentedTextWriter indentWriter = new IndentedTextWriter(baseTextWriter, " ");
// Sets the indentation level.
indentWriter.Indent = 0;
// Output test strings at stepped indentations through a recursive loop method.
WriteLevel(indentWriter, 0, 5);
// Return the resulting string from the base StringWriter.
return baseTextWriter.ToString();
}
private void WriteLevel(IndentedTextWriter indentWriter, int level, int totalLevels)
{
// Output a test string with a new-line character at the end.
indentWriter.WriteLine("This is a test phrase. Current indentation level: "+level.ToString());
// If not yet at the highest recursion level, call this output method for the next level of indentation.
if( level < totalLevels )
{
// Increase the indentation count for the next level of indented output.
indentWriter.Indent++;
// Call the WriteLevel method to write test output for the next level of indentation.
WriteLevel(indentWriter, level+1, totalLevels);
// Restores the indentation count for this level after the recursive branch method has returned.
indentWriter.Indent--;
}
else
{
// Outputs a string using the WriteLineNoTabs method.
indentWriter.WriteLineNoTabs("This is a test phrase written with the IndentTextWriter.WriteLineNoTabs method.");
}
// Outputs a test string with a new-line character at the end.
indentWriter.WriteLine("This is a test phrase. Current indentation level: "+level.ToString());
}
private void button1_Click(object sender, System.EventArgs e)
{
textBox1.Text = CreateMultilevelIndentString();
}
public Form1()
{
System.Windows.Forms.Button button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.Location = new System.Drawing.Point(8, 40);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(391, 242);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "";
button1.Location = new System.Drawing.Point(11, 8);
button1.Name = "button1";
button1.Size = new System.Drawing.Size(229, 23);
button1.TabIndex = 1;
button1.Text = "Generate string using IndentedTextWriter";
button1.Click += new System.EventHandler(this.button1_Click);
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(407, 287);
this.Controls.Add(button1);
this.Controls.Add(this.textBox1);
this.Name = "Form1";
this.Text = "IndentedTextWriter example";
this.ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
}
Imports System.CodeDom
Imports System.CodeDom.Compiler
Imports System.ComponentModel
Imports System.IO
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
Private textBox1 As System.Windows.Forms.TextBox
Private Function CreateMultilevelIndentString() As String
' Create a TextWriter to use as the base output writer.
Dim baseTextWriter As New System.IO.StringWriter
' Create an IndentedTextWriter and set the tab string to use
' as the indentation string for each indentation level.
Dim indentWriter = New IndentedTextWriter(baseTextWriter, " ")
' Set the indentation level.
indentWriter.Indent = 0
' Output test strings at stepped indentations through a recursive loop method.
WriteLevel(indentWriter, 0, 5)
' Return the resulting string from the base StringWriter.
Return baseTextWriter.ToString()
End Function
Private Sub WriteLevel(ByVal indentWriter As IndentedTextWriter, ByVal level As Integer, ByVal totalLevels As Integer)
' Outputs a test string with a new-line character at the end.
indentWriter.WriteLine(("This is a test phrase. Current indentation level: " + level.ToString()))
' If not yet at the highest recursion level, call this output method for the next level of indentation.
If level < totalLevels Then
' Increase the indentation count for the next level of indented output.
indentWriter.Indent += 1
' Call the WriteLevel method to write test output for the next level of indentation.
WriteLevel(indentWriter, level + 1, totalLevels)
' Restores the indentation count for this level after the recursive branch method has returned.
indentWriter.Indent -= 1
Else
' Output a string using the WriteLineNoTabs method.
indentWriter.WriteLineNoTabs("This is a test phrase written with the IndentTextWriter.WriteLineNoTabs method.")
End If
' Outputs a test string with a new-line character at the end.
indentWriter.WriteLine(("This is a test phrase. Current indentation level: " + level.ToString()))
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
textBox1.Text = CreateMultilevelIndentString()
End Sub
Public Sub New()
Dim button1 As New System.Windows.Forms.Button
Me.textBox1 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
Me.textBox1.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles)
Me.textBox1.Location = New System.Drawing.Point(8, 40)
Me.textBox1.Multiline = True
Me.textBox1.Name = "textBox1"
Me.textBox1.Size = New System.Drawing.Size(391, 242)
Me.textBox1.TabIndex = 0
Me.textBox1.Text = ""
button1.Location = New System.Drawing.Point(11, 8)
button1.Name = "button1"
button1.Size = New System.Drawing.Size(229, 23)
button1.TabIndex = 1
button1.Text = "Generate string using IndentedTextWriter"
AddHandler button1.Click, AddressOf Me.button1_Click
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(407, 287)
Me.Controls.Add(button1)
Me.Controls.Add(Me.textBox1)
Me.Name = "Form1"
Me.Text = "IndentedTextWriter example"
Me.ResumeLayout(False)
End Sub
<STAThread()> _
Shared Sub Main()
Application.Run(New Form1)
End Sub
End Class
Kommentarer
IndentedTextWriter utökar en TextWriter genom att tillhandahålla metoder som infogar en fliksträng och spårar den aktuella indragsnivån. Text formaterad med flera indragsnivåer är användbar för genererad kod, så den här klassen används av CodeDOM-kodgeneratorimplementeringar.
Fliksträngen är strängen som varje indrag består av. Vanligtvis innehåller fliksträngen tomt utrymme.
Note
Den här klassen innehåller ett länkbehov och ett arvskrav på klassnivå som gäller för alla medlemmar. En SecurityException utlöses när antingen den omedelbara anroparen eller den härledda klassen inte har fullständig förtroendebehörighet. Mer information om säkerhetskrav finns i Länkkrav och arvskrav.
Konstruktorer
| Name | Description |
|---|---|
| IndentedTextWriter(TextWriter, String) |
Initierar en ny instans av IndentedTextWriter klassen med den angivna textskrivaren och fliksträngen. |
| IndentedTextWriter(TextWriter) |
Initierar en ny instans av IndentedTextWriter klassen med den angivna textskrivaren och standardfliksträngen. |
Fält
| Name | Description |
|---|---|
| CoreNewLine |
Lagrar de nya radtecken som används för den här |
| DefaultTabString |
Anger standardflikssträngen. Det här fältet är konstant. |
Egenskaper
| Name | Description |
|---|---|
| Encoding |
Hämtar kodningen som textskrivaren ska använda. |
| FormatProvider |
Hämtar ett objekt som styr formateringen. (Ärvd från TextWriter) |
| Indent |
Hämtar eller anger antalet blanksteg som ska dras in. |
| InnerWriter |
Får använda TextWriter . |
| NewLine |
Hämtar eller anger det nya radtecknet som ska användas. |
Metoder
| Name | Description |
|---|---|
| Close() |
Stänger dokumentet som skrivs till. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| Dispose() |
Frigör alla resurser som används av TextWriter objektet. (Ärvd från TextWriter) |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av TextWriter och släpper eventuellt de hanterade resurserna. (Ärvd från TextWriter) |
| DisposeAsync() |
Utför programdefinierade uppgifter som är associerade med att frigöra, frigöra eller återställa ohanterade resurser asynkront. |
| DisposeAsync() |
Asynkront frigör alla resurser som används av TextWriter objektet. (Ärvd från TextWriter) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Flush() |
Tömmer strömmen. |
| FlushAsync() |
Rensar alla buffertar för detta IndentedTextWriter asynkront och gör att buffrade data skrivs till den underliggande enheten. |
| FlushAsync() |
Rensar asynkront alla buffertar för den aktuella skrivaren och gör att buffrade data skrivs till den underliggande enheten. (Ärvd från TextWriter) |
| FlushAsync(CancellationToken) |
Rensar alla buffertar för detta IndentedTextWriter asynkront och gör att buffrade data skrivs till den underliggande enheten. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Föråldrad.
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Föråldrad.
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| OutputTabs() |
Matar ut fliksträngen en gång för varje indragsnivå enligt egenskapen Indent . |
| OutputTabsAsync() |
Asynkront matar ut flikar till den underliggande TextWriter baserat på den aktuella Indent. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| Write(Boolean) |
Skriver textrepresentationen av ett booleskt värde till textströmmen. |
| Write(Char) |
Skriver ett tecken till textströmmen. |
| Write(Char[], Int32, Int32) |
Skriver ett underordnat tecken till textströmmen. |
| Write(Char[]) |
Skriver en teckenmatris till textströmmen. |
| Write(Decimal) |
Skriver textrepresentationen av ett decimalvärde till textströmmen. (Ärvd från TextWriter) |
| Write(Double) |
Skriver textrepresentationen av en Double till textströmmen. |
| Write(Int32) |
Skriver textrepresentationen av ett heltal till textströmmen. |
| Write(Int64) |
Skriver textrepresentationen av ett heltal på 8 byte till textströmmen. |
| Write(Object) |
Skriver textrepresentationen av ett objekt till textströmmen. |
| Write(ReadOnlySpan<Char>) |
Skriver ett teckenintervall till textströmmen. (Ärvd från TextWriter) |
| Write(Rune) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| Write(Single) |
Skriver textrepresentationen av en Enskild till textströmmen. |
| Write(String, Object, Object, Object) |
Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object, Object, Object) metoden. (Ärvd från TextWriter) |
| Write(String, Object, Object) |
Skriver ut en formaterad sträng med samma semantik som angetts. |
| Write(String, Object) |
Skriver ut en formaterad sträng med samma semantik som angetts. |
| Write(String, Object[]) |
Skriver ut en formaterad sträng med samma semantik som angetts. |
| Write(String, ReadOnlySpan<Object>) |
Skriver ut en formaterad sträng med samma semantik som angetts. |
| Write(String) |
Skriver den angivna strängen till textströmmen. |
| Write(StringBuilder) |
Skriver en strängbyggare till textströmmen. (Ärvd från TextWriter) |
| Write(UInt32) |
Skriver textrepresentationen av ett osignerat heltal på 4 byte till textströmmen. (Ärvd från TextWriter) |
| Write(UInt64) |
Skriver textrepresentationen av ett osignerat heltal på 8 byte till textströmmen. (Ärvd från TextWriter) |
| WriteAsync(Char) |
Skriver asynkront den angivna Char till den underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteAsync(Char) |
Skriver ett tecken till textströmmen asynkront. (Ärvd från TextWriter) |
| WriteAsync(Char[], Int32, Int32) |
Skriver asynkront det angivna antalet Chars från den angivna bufferten till den underliggande TextWriter, med början vid det angivna indexet och utdataflikar i början av varje ny rad. |
| WriteAsync(Char[], Int32, Int32) |
Skriver ett underordnat tecken till textströmmen asynkront. (Ärvd från TextWriter) |
| WriteAsync(Char[]) |
Skriver en teckenmatris till textströmmen asynkront. (Ärvd från TextWriter) |
| WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Skriver asynkront de angivna tecknen till de underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Skriver asynkront en teckenminnesregion till textströmmen. (Ärvd från TextWriter) |
| WriteAsync(Rune) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| WriteAsync(String, CancellationToken) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| WriteAsync(String) |
Skriver asynkront den angivna strängen till den underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteAsync(String) |
Skriver en sträng till textströmmen asynkront. (Ärvd från TextWriter) |
| WriteAsync(StringBuilder, CancellationToken) |
Skriver asynkront innehållet i det angivna StringBuilder till den underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteAsync(StringBuilder, CancellationToken) |
Skriver asynkront en strängbyggare till textströmmen. (Ärvd från TextWriter) |
| WriteLine() |
Skriver en radavgränsare. |
| WriteLine(Boolean) |
Skriver textrepresentationen av ett booleskt värde följt av en radavgränsare till textströmmen. |
| WriteLine(Char) |
Skriver ett tecken, följt av en radavgränsare, till textströmmen. |
| WriteLine(Char[], Int32, Int32) |
Skriver ett underordnat tecken, följt av en radavgränsare, till textströmmen. |
| WriteLine(Char[]) |
Skriver en teckenmatris, följt av en radavgränsare, till textströmmen. |
| WriteLine(Decimal) |
Skriver textrepresentationen av ett decimalvärde till textströmmen följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLine(Double) |
Skriver textrepresentationen av en Double, följt av en radavgränsare, till textströmmen. |
| WriteLine(Int32) |
Skriver textrepresentationen av ett heltal, följt av en radavgränsare, till textströmmen. |
| WriteLine(Int64) |
Skriver textrepresentationen av ett heltal på 8 byte, följt av en radavgränsare, till textströmmen. |
| WriteLine(Object) |
Skriver textrepresentationen av ett objekt, följt av en radavgränsare, till textströmmen. |
| WriteLine(ReadOnlySpan<Char>) |
Skriver textrepresentationen av ett teckenintervall till textströmmen följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLine(Rune) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| WriteLine(Single) |
Skriver textrepresentationen av en Enskild, följt av en radavgränsare, till textströmmen. |
| WriteLine(String, Object, Object, Object) |
Skriver ut en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object). (Ärvd från TextWriter) |
| WriteLine(String, Object, Object) |
Skriver ut en formaterad sträng följt av en radavgränsare med samma semantik som angetts. |
| WriteLine(String, Object) |
Skriver ut en formaterad sträng följt av en radavgränsare med samma semantik som angetts. |
| WriteLine(String, Object[]) |
Skriver ut en formaterad sträng följt av en radavgränsare med samma semantik som angetts. |
| WriteLine(String, ReadOnlySpan<Object>) |
Skriver ut en formaterad sträng följt av en radavgränsare med samma semantik som angetts. |
| WriteLine(String) |
Skriver den angivna strängen, följt av en radavslutare, till textströmmen. |
| WriteLine(StringBuilder) |
Skriver textrepresentationen av en strängbyggare till textströmmen följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLine(UInt32) |
Skriver textrepresentationen av en UInt32, följt av en radavgränsare, till textströmmen. |
| WriteLine(UInt64) |
Skriver textrepresentationen av ett osignerat heltal på 8 byte till textströmmen, följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLineAsync() |
Skriver asynkront radavslutaren till den underliggande TextWriter. |
| WriteLineAsync() |
Skriver asynkront en radavgränsare till textströmmen. (Ärvd från TextWriter) |
| WriteLineAsync(CancellationToken) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| WriteLineAsync(Char) |
Skriver asynkront den angivna Char till den underliggande TextWriter följt av en radavgränsare och infogar flikar i början av varje rad. |
| WriteLineAsync(Char) |
Skriver asynkront ett tecken till textströmmen följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLineAsync(Char[], Int32, Int32) |
Skriver asynkront det angivna antalet tecken från den angivna bufferten följt av en radavgränsare, till den underliggande TextWriter, som börjar vid det angivna indexet i bufferten och infogar flikar i början av varje rad. |
| WriteLineAsync(Char[], Int32, Int32) |
Skriver asynkront ett underordnat tecken till textströmmen följt av en radavslutare. (Ärvd från TextWriter) |
| WriteLineAsync(Char[]) |
Skriver asynkront en matris med tecken till textströmmen följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Skriver asynkront de angivna tecknen följt av en radavgränsare till den underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Skriver asynkront textrepresentationen av en teckenminnesregion till textströmmen, följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLineAsync(Rune) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| WriteLineAsync(String, CancellationToken) |
Tillhandahåller en textskrivare som kan dra in nya rader med en fliksträngstoken. (Ärvd från TextWriter) |
| WriteLineAsync(String) |
Skriver asynkront den angivna strängen följt av en radavgränsare till den underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteLineAsync(String) |
Skriver asynkront en sträng till textströmmen följt av en radavslutare. (Ärvd från TextWriter) |
| WriteLineAsync(StringBuilder, CancellationToken) |
Skriver asynkront innehållet i det angivna StringBuilder följt av en radavgränsare till den underliggande TextWriteroch infogar flikar i början av varje rad. |
| WriteLineAsync(StringBuilder, CancellationToken) |
Skriver asynkront textrepresentationen av en strängbyggare till textströmmen, följt av en radavgränsare. (Ärvd från TextWriter) |
| WriteLineNoTabs(String) |
Skriver den angivna strängen till en rad utan flikar. |
| WriteLineNoTabsAsync(String) |
Skriver asynkront den angivna strängen till den underliggande TextWriter utan att infoga flikar. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDisposable.Dispose() |
En beskrivning av den här medlemmen finns i Dispose(). (Ärvd från TextWriter) |
Tilläggsmetoder
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Konfigurerar hur väntar på de uppgifter som returneras från en asynkron disponibel ska utföras. |