⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linewriter.cs

📁 C#编写的c#编译器
💻 CS
字号:
using System;
using System.IO;
using System.Collections;
using System.CodeDom.Compiler;

namespace DDW.CSharp.Gen
{
	/// <summary>
	/// Summary description for LineWriter.
	/// </summary>
	public class LineWriter
	{
		IndentedTextWriter sb;
		private int column = 1;
		private int line = 1;
		private int tabSize = 4;
		private bool needIndent = true;

		public LineWriter(TextWriter tw)
		{
			sb = new IndentedTextWriter(tw); 
		}
		#region Column
		public int Column
		{
			get
			{
				return column;
			}
		}
		#endregion
		#region Line
		public int Line
		{
			get
			{
				return line;
			}
		}
		#endregion
		public void Write(string s)
		{
			if(needIndent)
			{
				column += Indent * tabSize;
				needIndent = false;
			}
			column += s.Length;
			sb.Write(s);
		}
		public void WriteLine(string s)
		{
			column = 1;
			line++;
			sb.WriteLine(s);
			needIndent = true;
		}
		public void Write(int s)
		{
			if(needIndent)
			{
				column += Indent * tabSize;
				needIndent = false;
			}
			column += s.ToString().Length;
			sb.Write(s);
		}
		public void WriteLine(int s)
		{
			column = 1;
			line++;
			sb.WriteLine(s);
			needIndent = true;
		}
		#region Indent
		public int Indent
		{
			get
			{
				return sb.Indent;
			}
			set
			{
				sb.Indent = value;
			}
		}
		#endregion
		public void Close()
		{
			sb.Close();
		}
		public override string ToString()
		{
			return sb.InnerWriter.ToString();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -