IndentedTextWriter クラス
アセンブリ: System (system.dll 内)

Public Class IndentedTextWriter Inherits TextWriter
public class IndentedTextWriter : TextWriter
public class IndentedTextWriter extends TextWriter
public class IndentedTextWriter extends TextWriter

IndentedTextWriter は、タブ文字列を挿入して現在のインデント レベルを追跡するメソッドを提供することによって、TextWriter を拡張しています。複数のインデント レベルを使用して書式指定されたテキストは、生成されたコードで使用すると便利です。そのため、このクラスは CodeDOM コード ジェネレータの実装で使用されます。
タブ文字列は各インデントを構成する文字列です。通常、タブ文字列は空白を含みます。
![]() |
---|
このクラスには、すべてのメンバに適用されるクラス レベルのリンク確認要求と継承確認要求が格納されます。直前の呼び出し元または派生クラスに完全信頼のアクセス許可がない場合、SecurityException がスローされます。セキュリティ要求の詳細については、「リンク確認要求」および「継承確認要求」を参照してください。 |

IndentedTextWriter を使用して、複数の異なるインデント幅でテキストを入力するコード例を次に示します。
Imports System 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
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()); } } }
#using <System.Drawing.dll> #using <System.Windows.Forms.dll> #using <System.dll> using namespace System; using namespace System::CodeDom; using namespace System::CodeDom::Compiler; using namespace System::ComponentModel; using namespace System::IO; using namespace System::Windows::Forms; public ref class Form1: public System::Windows::Forms::Form { private: System::Windows::Forms::TextBox^ textBox1; String^ CreateMultilevelIndentString() { // Creates a TextWriter to use as the base output writer. System::IO::StringWriter^ baseTextWriter = gcnew 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 = gcnew 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(); } 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: {0}", level ); // 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: {0}", level ); } void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { textBox1->Text = CreateMultilevelIndentString(); } public: Form1() { System::Windows::Forms::Button^ button1 = gcnew System::Windows::Forms::Button; this->textBox1 = gcnew 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 = System::Drawing::Point( 8, 40 ); this->textBox1->Multiline = true; this->textBox1->Name = "textBox1"; this->textBox1->Size = System::Drawing::Size( 391, 242 ); this->textBox1->TabIndex = 0; this->textBox1->Text = ""; button1->Location = System::Drawing::Point( 11, 8 ); button1->Name = "button1"; button1->Size = System::Drawing::Size( 229, 23 ); button1->TabIndex = 1; button1->Text = "Generate string using IndentedTextWriter"; button1->Click += gcnew System::EventHandler( this, &Form1::button1_Click ); this->AutoScaleBaseSize = System::Drawing::Size( 5, 13 ); this->ClientSize = 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] int main() { Application::Run( gcnew Form1 ); }
package IndentedTextWriterExample; import System.*; import System.CodeDom.*; import System.CodeDom.Compiler.*; import System.ComponentModel.*; import System.IO.*; import System.Windows.Forms.*; public class Form1 extends 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.set_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(); } //CreateMultilevelIndentString 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: " + System.Convert.ToString(level)); // 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.set_Indent(indentWriter.get_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.set_Indent(indentWriter.get_Indent() - 1); } // Outputs a string using the WriteLineNoTabs method. else { 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: " + System.Convert.ToString(level)); } //WriteLevel private void button1_Click(Object sender, System.EventArgs e) { textBox1.set_Text(CreateMultilevelIndentString()); } //button1_Click public Form1() { System.Windows.Forms.Button button1 = new System.Windows.Forms.Button(); this.textBox1 = new System.Windows.Forms.TextBox(); this.SuspendLayout(); this.textBox1.set_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.set_Location(new System.Drawing.Point(8, 40)); this.textBox1.set_Multiline(true); this.textBox1.set_Name("textBox1"); this.textBox1.set_Size(new System.Drawing.Size(391, 242)); this.textBox1.set_TabIndex(0); this.textBox1.set_Text(""); button1.set_Location(new System.Drawing.Point(11, 8)); button1.set_Name("button1"); button1.set_Size(new System.Drawing.Size(229, 23)); button1.set_TabIndex(1); button1.set_Text("Generate string using IndentedTextWriter"); button1.add_Click(new System.EventHandler(this.button1_Click)); this.set_AutoScaleBaseSize(new System.Drawing.Size(5, 13)); this.set_ClientSize(new System.Drawing.Size(407, 287)); this.get_Controls().Add(button1); this.get_Controls().Add(this.textBox1); this.set_Name("Form1"); this.set_Text("IndentedTextWriter example"); this.ResumeLayout(false); } //Form1 /** @attribute STAThread() */ public static void main(String[] args) { Application.Run(new Form1()); } //main } //Form1


System.MarshalByRefObject
System.IO.TextWriter
System.CodeDom.Compiler.IndentedTextWriter


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IndentedTextWriter コンストラクタ (TextWriter)
アセンブリ: System (system.dll 内)

Public Sub New ( _ writer As TextWriter _ )
public IndentedTextWriter ( TextWriter writer )
public: IndentedTextWriter ( TextWriter^ writer )
public IndentedTextWriter ( TextWriter writer )
public function IndentedTextWriter ( writer : TextWriter )

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IndentedTextWriter コンストラクタ (TextWriter, String)
アセンブリ: System (system.dll 内)

Dim writer As TextWriter Dim tabString As String Dim instance As New IndentedTextWriter(writer, tabString)
public IndentedTextWriter ( TextWriter writer, string tabString )
public: IndentedTextWriter ( TextWriter^ writer, String^ tabString )
public IndentedTextWriter ( TextWriter writer, String tabString )

指定したタブ文字列を使用して IndentedTextWriter を作成するコード例を次に示します。
' 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, " ")
// 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, " ");
// Creates a TextWriter to use as the base output writer. System::IO::StringWriter^ baseTextWriter = gcnew 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 = gcnew IndentedTextWriter( baseTextWriter," " );
// 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, " ");

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IndentedTextWriter コンストラクタ

名前 | 説明 |
---|---|
IndentedTextWriter (TextWriter) | 指定したテキスト ライタと既定のタブ文字列を使用して、IndentedTextWriter クラスの新しいインスタンスを初期化します。 |
IndentedTextWriter (TextWriter, String) | テキスト ライタとタブ文字列を指定して、IndentedTextWriter クラスの新しいインスタンスを初期化します。 |

IndentedTextWriter フィールド
IndentedTextWriter プロパティ

名前 | 説明 | |
---|---|---|
![]() | Encoding | オーバーライドされます。 使用するテキスト ライタのエンコーディングを取得します。 |
![]() | FormatProvider | 書式を制御するオブジェクトを取得します。 ( TextWriter から継承されます。) |
![]() | Indent | インデント幅として適用する空白文字の数を取得または設定します。 |
![]() | InnerWriter | 使用する TextWriter を取得します。 |
![]() | NewLine | オーバーライドされます。 使用する改行文字を取得または設定します。 |

IndentedTextWriter メソッド


名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 この TextWriter オブジェクトによって使用されているすべてのリソースを解放します。 ( TextWriter から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
![]() | OutputTabs | Indent プロパティに従って、各インデント レベルに対してタブ文字列を 1 回出力します。 |

IndentedTextWriter メンバ
タブ文字列トークンを使用して、新しい行にインデントを設定できるテキスト ライタを提供します。
IndentedTextWriter データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | IndentedTextWriter | オーバーロードされます。 指定したテキスト ライタと既定のタブ文字列を使用して、IndentedTextWriter クラスの新しいインスタンスを初期化します。 |


名前 | 説明 | |
---|---|---|
![]() | CoreNewLine | TextWriter で使用する改行文字を格納します。(TextWriter から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Encoding | オーバーライドされます。 使用するテキスト ライタのエンコーディングを取得します。 |
![]() | FormatProvider | 書式を制御するオブジェクトを取得します。(TextWriter から継承されます。) |
![]() | Indent | インデント幅として適用する空白文字の数を取得または設定します。 |
![]() | InnerWriter | 使用する TextWriter を取得します。 |
![]() | NewLine | オーバーライドされます。 使用する改行文字を取得または設定します。 |


名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 この TextWriter オブジェクトによって使用されているすべてのリソースを解放します。 (TextWriter から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
![]() | OutputTabs | Indent プロパティに従って、各インデント レベルに対してタブ文字列を 1 回出力します。 |

Weblioに収録されているすべての辞書からIndentedTextWriterを検索する場合は、下記のリンクをクリックしてください。

- IndentedTextWriterのページへのリンク