IndentedTextWriter Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt een tekstschrijver waarmee nieuwe regels kunnen worden ingesprongen met een tabtekenreekstoken.
public ref class IndentedTextWriter : System::IO::TextWriter
public class IndentedTextWriter : System.IO.TextWriter
type IndentedTextWriter = class
inherit TextWriter
Public Class IndentedTextWriter
Inherits TextWriter
- Overname
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u tekst IndentedTextWriter schrijft op verschillende niveaus van inspringing.
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
Opmerkingen
IndentedTextWriter breidt een TextWriter uit door methoden op te geven waarmee een tabtekenreeks wordt ingevoegd en het huidige inspringingsniveau wordt bijgehouden. Tekst die is opgemaakt met meerdere inspringingsniveaus is handig voor gegenereerde code, dus deze klasse wordt gebruikt door CodeDOM-codegenerator-implementaties.
De tabtekenreeks is de tekenreeks waarvan elke inspringing bestaat. Normaal gesproken bevat de tabtekenreeks witruimte.
Note
Deze klasse bevat een koppelingsvraag en een overnamevraag op klasseniveau die van toepassing is op alle leden. Een SecurityException wordt geworpen wanneer de directe aanroeper of de afgeleide klasse geen volledig-vertrouwensmachtiging heeft. Zie Koppelingsvereisten en overnamevereisten voor meer informatie over beveiligingsvereisten.
Constructors
| Name | Description |
|---|---|
| IndentedTextWriter(TextWriter, String) |
Initialiseert een nieuw exemplaar van de IndentedTextWriter klasse met behulp van de opgegeven tekstschrijver en tabtekenreeks. |
| IndentedTextWriter(TextWriter) |
Initialiseert een nieuw exemplaar van de IndentedTextWriter klasse met behulp van de opgegeven tekstschrijver en de standaardtabtekenreeks. |
Velden
| Name | Description |
|---|---|
| CoreNewLine |
Slaat de nieuwe regeltekens op die hiervoor |
| DefaultTabString |
Hiermee geeft u de standaardtabtekenreeks. Dit veld is constant. |
Eigenschappen
| Name | Description |
|---|---|
| Encoding |
Hiermee haalt u de codering op voor de tekstschrijver die moet worden gebruikt. |
| FormatProvider |
Hiermee haalt u een object op waarmee de opmaak wordt beheerd. (Overgenomen van TextWriter) |
| Indent |
Hiermee kunt u het aantal spaties ophalen of instellen dat moet worden ingesprongen. |
| InnerWriter |
Hiermee wordt het TextWriter te gebruiken. |
| NewLine |
Hiermee haalt u het nieuwe regelteken op of stelt u dit in. |
Methoden
| Name | Description |
|---|---|
| Close() |
Hiermee sluit u het document dat naar het document wordt geschreven. |
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| Dispose() |
Alle resources die door het TextWriter object worden gebruikt, worden vrijgegeven. (Overgenomen van TextWriter) |
| Dispose(Boolean) |
Publiceert de niet-beheerde resources die worden gebruikt door de TextWriter beheerde resources en brengt eventueel de beheerde resources vrij. (Overgenomen van TextWriter) |
| DisposeAsync() |
Asynchroon geeft alle resources vrij die door het TextWriter object worden gebruikt. (Overgenomen van TextWriter) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Flush() |
De stroom leegmaken. |
| FlushAsync() |
Asynchroon wist alle buffers voor de huidige schrijver en zorgt ervoor dat eventuele gebufferde gegevens naar het onderliggende apparaat worden geschreven. (Overgenomen van TextWriter) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLifetimeService() |
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InitializeLifetimeService() |
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| OutputTabs() |
Hiermee wordt de tabtekenreeks eenmaal uitgevoerd voor elk niveau van inspringing volgens de Indent eigenschap. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| Write(Boolean) |
Hiermee schrijft u de tekstweergave van een Booleaanse waarde naar de tekststroom. |
| Write(Char) |
Hiermee schrijft u een teken naar de tekststroom. |
| Write(Char[], Int32, Int32) |
Hiermee schrijft u een submaarray van tekens naar de tekststroom. |
| Write(Char[]) |
Hiermee schrijft u een tekenmatrix naar de tekststroom. |
| Write(Decimal) |
Hiermee schrijft u de tekstweergave van een decimale waarde naar de tekststroom. (Overgenomen van TextWriter) |
| Write(Double) |
Hiermee schrijft u de tekstweergave van een getal met dubbele precisie naar de tekststroom. |
| Write(Int32) |
Hiermee schrijft u de tekstweergave van een geheel getal naar de tekststroom. |
| Write(Int64) |
Hiermee schrijft u de tekstweergave van een geheel getal van 8 bytes naar de tekststroom. |
| Write(Object) |
Hiermee schrijft u de tekstweergave van een object naar de tekststroom. |
| Write(ReadOnlySpan<Char>) |
Hiermee schrijft u een tekenbereik naar de tekststroom. (Overgenomen van TextWriter) |
| Write(Single) |
Hiermee schrijft u de tekstweergave van één naar de tekststroom. |
| Write(String, Object, Object, Object) |
Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object, Object, Object) methode. (Overgenomen van TextWriter) |
| Write(String, Object, Object) |
Hiermee schrijft u een opgemaakte tekenreeks op met dezelfde semantiek als opgegeven. |
| Write(String, Object) |
Hiermee schrijft u een opgemaakte tekenreeks op met dezelfde semantiek als opgegeven. |
| Write(String, Object[]) |
Hiermee schrijft u een opgemaakte tekenreeks op met dezelfde semantiek als opgegeven. |
| Write(String) |
Hiermee schrijft u de opgegeven tekenreeks naar de tekststroom. |
| Write(UInt32) |
Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van vier bytes naar de tekststroom. (Overgenomen van TextWriter) |
| Write(UInt64) |
Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van 8 bytes naar de tekststroom. (Overgenomen van TextWriter) |
| WriteAsync(Char) |
Hiermee schrijft u een teken asynchroon naar de tekststroom. (Overgenomen van TextWriter) |
| WriteAsync(Char[], Int32, Int32) |
Hiermee schrijft u een submaarray van tekens naar de tekststroom asynchroon. (Overgenomen van TextWriter) |
| WriteAsync(Char[]) |
Hiermee schrijft u een tekenmatrix asynchroon naar de tekststroom. (Overgenomen van TextWriter) |
| WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchroon schrijft een tekengeheugengebied naar de tekststroom. (Overgenomen van TextWriter) |
| WriteAsync(String) |
Hiermee schrijft u een tekenreeks asynchroon naar de tekststroom. (Overgenomen van TextWriter) |
| WriteLine() |
Hiermee schrijft u een regeleindteken. |
| WriteLine(Boolean) |
Hiermee schrijft u de tekstweergave van een Booleaanse waarde, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Char) |
Hiermee schrijft u een teken, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Char[], Int32, Int32) |
Hiermee schrijft u een submaarray van tekens, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Char[]) |
Hiermee schrijft u een tekenmatrix, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Decimal) |
Hiermee schrijft u de tekstweergave van een decimale waarde naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLine(Double) |
Hiermee schrijft u de tekstweergave van een double, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Int32) |
Hiermee schrijft u de tekstweergave van een geheel getal, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Int64) |
Hiermee schrijft u de tekstweergave van een geheel getal van 8 bytes, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(Object) |
Hiermee schrijft u de tekstweergave van een object, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(ReadOnlySpan<Char>) |
Hiermee schrijft u de tekstweergave van een tekenstroom naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLine(Single) |
Hiermee schrijft u de tekstweergave van een enkele, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(String, Object, Object, Object) |
Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als Format(String, Object). (Overgenomen van TextWriter) |
| WriteLine(String, Object, Object) |
Hiermee schrijft u een opgemaakte tekenreeks, gevolgd door een regeleindteken, met behulp van dezelfde semantiek als opgegeven. |
| WriteLine(String, Object) |
Hiermee schrijft u een opgemaakte tekenreeks, gevolgd door een regeleindteken, met behulp van dezelfde semantiek als opgegeven. |
| WriteLine(String, Object[]) |
Hiermee schrijft u een opgemaakte tekenreeks, gevolgd door een regeleindteken, met behulp van dezelfde semantiek als opgegeven. |
| WriteLine(String) |
Hiermee schrijft u de opgegeven tekenreeks, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(UInt32) |
Hiermee schrijft u de tekstweergave van een UInt32, gevolgd door een regeleindteken, naar de tekststroom. |
| WriteLine(UInt64) |
Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van 8 bytes naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLineAsync() |
Asynchroon schrijft een regeleindteken naar de tekststroom. (Overgenomen van TextWriter) |
| WriteLineAsync(Char) |
Asynchroon schrijft een teken naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLineAsync(Char[], Int32, Int32) |
Asynchroon schrijft een submaarray van tekens naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLineAsync(Char[]) |
Asynchroon schrijft een matrix met tekens naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchroon schrijft de tekstweergave van een tekengeheugengebied naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLineAsync(String) |
Asynchroon schrijft een tekenreeks naar de tekststroom, gevolgd door een regeleindteken. (Overgenomen van TextWriter) |
| WriteLineNoTabs(String) |
Hiermee schrijft u de opgegeven tekenreeks naar een regel zonder tabs. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Zie voor een beschrijving van dit lid Dispose(). (Overgenomen van TextWriter) |
Extensiemethoden
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Hiermee configureert u hoe wacht op de taken die worden geretourneerd op basis van een asynchroon wegwerp, worden uitgevoerd. |